rules:自定义规则,key:value 的形式,key 是要验证的元素,value 可以是字符串或对象。 $(".selector").validate({ rules:{ name:"required", email:{ required:true, email:true } } })
messages:自定义的提示信息,key:value 的形式,key 是要验证的元素,value 可以是字符串或函数。 $(".selector").validate({ rules:{ name:"required", email:{ required:true, email:true } }, messages:{ name:"Name不能为空", email:{ required:"E-mail不能为空", email:"E-mail地址不正确" } } })
groups:对一组元素的验证,用一个错误提示,用 errorPlacement 控制把出错信息放在哪里。 $("#myform").validate({ groups:{ username:"fname lname" }, errorPlacement:function(error,element) { if (element.attr("name") == "fname" || element.attr("name") == "lname") error.insertAfter("#lastname"); else error.insertAfter(element); }, debug:true })
Onubmit:类型 Boolean,默认 true,指定是否提交时验证。 $(".selector").validate({ onsubmit:false })
onfocusout:类型 Boolean,默认 true,指定是否在获取焦点时验证。 $(".selector").validate({ onfocusout:false })
onkeyup:类型 Boolean,默认 true,指定是否在敲击键盘时验证。 $(".selector").validate({ onkeyup:false })
onclick:类型 Boolean,默认 true,指定是否在鼠标点击时验证(一般验证 checkbox、radiobox)。 $(".selector").validate({ onclick:false })
focusInvalid:类型 Boolean,默认 true。提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点。 $(".selector").validate({ focusInvalid:false })
focusCleanup:类型 Boolean,默认 false。当未通过验证的元素获得焦点时,移除错误提示(避免和 focusInvalid 一起使用)。 $(".selector").validate({ focusCleanup:true })
errorClass:类型 String,默认 "error"。指定错误提示的 css 类名,可以自定义错误提示的样式。 $(".selector").validate({ errorClass:"invalid" })
errorElement:类型 String,默认 "label"。指定使用什么标签标记错误。 $(".selector").validate errorElement:"em" })
wrapper:类型 String,指定使用什么标签再把上边的 errorELement 包起来。 $(".selector").validate({ wrapper:"li" })
errorLabelContainer:类型 Selector,把错误信息统一放在一个容器里面。 $("#myform").validate({ errorLabelContainer:"#messageBox", wrapper:"li", submitHandler:function() { alert("Submitted!") } })
showErrors:跟一个函数,可以显示总共有多少个未通过验证的元素。 $(".selector").validate({ showErrors:function(errorMap,errorList) { $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors,see details below."); this.defaultShowErrors(); } })
errorPlacement:跟一个函数,可以自定义错误放到哪里。 $("#myform").validate({ rrorPlacement:function(error,element) { error.appendTo(element.parent("td").next("td")); }, debug:true })
success:要验证的元素通过验证后的动作,如果跟一个字符串,会当作一个 css 类,也可跟一个函数。 $("#myform").validate({ success:"valid", submitHandler:function() { alert("Submitted!") } })
highlight:可以给未通过验证的元素加效果、闪烁等。
addMethod(name,method,message)方法参数 name 是添加的方法的名字。
参数 method 是一个函数,接收三个参数 (value,element,param) 。 value 是元素的值,element 是元素本身,param 是参数。
我们可以用 addMethod 来添加除内置的 Validation 方法之外的验证方法。比如有一个字段,只能输一个字母,范围是 a-f,写法如下:
$.validator.addMethod("af",function(value,element,params){ if(value.length>1){ return false; } if(value>=params[0] && value<=params[1]){ return true; }else{ return false; } },"必须是一个字母,且a-f");如果有个表单字段的 id="username",则在 rules 中写:
username:{ af:["a","f"] }
addMethod 的第一个参数,是添加的验证方法的名字,这时是 af。
addMethod 的第三个参数,是自定义的错误提示,这里的提示为:"必须是一个字母,且a-f"。
addMethod 的第二个参数,是一个函数,这个比较重要,决定了用这个验证方法时的写法。
如果只有一个参数,直接写,比如 af:"a",那么 a 就是这个唯一的参数,如果多个参数,则写在 [] 里,用逗号分开。
meta String 方式 $("#myform").validate({ meta:"validate", submitHandler:function() { alert("Submitted!") } }) <script type="text/javascript" src="js/jquery.metadata.js"></script> <script type="text/javascript" src="js/jquery.validate.js"></script> <form id="myform"> <input type="text" name="email" class="{validate:{ required:true,email:true }}" /> <input type="submit" value="Submit" /> </form> 实例演示 虚构的实例