case test jquery.validate
by ltdeta
HTML
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js"></script>
<form action="#" method="post" id="mailer" autocomplete="off">
<label>
<span>name</span>
<input type="text" name="name" required="required" value="" />
</label><br /><br />
<label>
<span>email</span>
<input type="email" name="email_address" value="" />
</label><br /><br />
<label>
<span>request</span>
<textarea name="request" required="required" lineCount="1,2"></textarea>
</label><br /><br />
<a href="javascript:;" id="submit">submit</a>
</form>
JavaScript
//================================= AZIONE FORM
$('#submit').click(function() {
$('#mailer').submit();
return false;
});
//================================= VALIDAZIONE FORM
$Validator = $('#mailer').validate({
focusInvalid: false,
debug: true,
rules: {
name: {
required: true
},
email_address: {
required: true,
email: true
},
request: {
required: true
}
},
messages: {
name: {
required: 'name required'
},
email_address: {
required: 'email required',
email: 'email address is not valid'
},
request: {
required: 'request required'
}
}
});
$.validator.addMethod("lineCount",function(value,element,params) {
if (typeof params == 'string') {
params = params.split(",");
}
var maxLines = params[0],
maxChars = params[1],
retValue = false;
var newLines = value.split("\n").length;
console.log(newLines+' n:'+maxLines);
if (newLines<=maxLines || maxLines==-1)
retValue=true;
if (maxChars != -1) {
//alert( $.validator.methods.maxlength.call(this, value, element, params[1]));
retValue = retValue && $.validator.methods.maxlength.call(this, value, element, params[1]);
}
return retValue
}, $.validator.format("not more than {0} rows and {1} chars allowed."));