jQuery技术

jQuery Validate(其实JQuery的详细教程也在这了)(5)

字号+ 作者:H5之家 来源:H5之家 2017-02-17 18:03 我要评论( )

rules:自定义规则,key:value 的形式,key 是要验证的元素,value 可以是字符串或对象。$(.selector).validate({rules:{name:required,email:{required:true,email:true}}}) messages:自定义的提示信息,key:valu

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> 实例演示 虚构的实例

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery Selector选择器小结

    jQuery Selector选择器小结

    2017-02-18 10:12

  • nodejs HTML分析利器node

    nodejs HTML分析利器node

    2017-02-17 17:03

  • jQuery.Deferred对象

    jQuery.Deferred对象

    2017-02-17 13:01

  • 《jQuery实战(第三版)》(Bear Bibeault)【摘要

    《jQuery实战(第三版)》(Bear Bibeault)【摘要

    2017-02-17 13:00

网友点评