五、验证器( Validator )
validate方法返回的验证器对象( Validator Object) 有一些公用的方法。你可以用来触发验证程序或改变表单(form)的内容。验证器对象有更多的方法,不过只有文档中给出的这些方法是专为使用而设计的。(一)验证器方法(Validator methods)[1] form() 返回:Boolean 说明:验证表单是否通过验证,若通过验证则返回true,反之返回false。这个方法在正常的提交事件(submit event)触发,它返回一个结果。Js代码 $("#myform").validate().form(); [2] element( element ) 返回:Boolean 参数 element 类型:Selector 验证表单中的一个需要验证的表单元素。 说明:验证单个表单元素是否通过验证,若通过验证则返回true,反之返回false。这个方法在正常的焦点离开事件(blur)或按键弹起(keyup)时触发,它返回一个结果。Js代码 $("#myform").validate().element( "#myselect" ); [3] resetForm( ) 返回:undefined 说明:重置表单。 恢复表单元素到原来的值(需要form插件支持),移除无效验证的样式并隐藏错误消息。 (...貌似只有在IE下才可以移除样式)Js代码 var validator = $("#myform").validate(); validator.resetForm(); [4] showErrors( errors ) 返回:undefined 参数 errors 类型:Object<String, String> 一个或多个表单元素的name属性和验证消息组成的键/值对。 说明:显示指定的验证消息。 在指定的errorPlacement中显示验证消息。键为待验证表单元素的name属性,值为相应的验证消息。Js代码 var validator = $("#myform").validate(); validator.showErrors({"firstname": "I know that your firstname is Pete, Pete!"}); [5] numberOfInvalids( ) 返回:Integer 说明:返回未通过验证的表单元素的个数。 这个方法依赖于内部的验证器情况。只有在验证完所有表单元素时才统计所有待验证的表单元素(submit事件或通 过$("form").valid())。当只验证单个表单元素,则只有统计该表单元素。与invalidHandler选项联合使用的时候非常有用。Js代码 var validator = $("#myform").validate({ invalidHandler: function() { $("#summary").text(validator.numberOfInvalids() +"field(s) areinvalid"); } }); (二)验证器函数(Validator functions)[1] setDefaults( defaults ) 返回:undefined 参数 defaults 类型:Options 要设置成默认值的选项。 说明:修改验证框架的默认设置。 接受validate方法中的所有选项。Js代码 jQuery.validator.setDefaults({ debug: true }); [2] addMethod( name, method, [message] ) 返回:undefined 参数 name 类型:String 要添加的方法名,用于标识和引用,必须是一个有效的javascript标识符。 参数 method 类型:Callback 方法的实现部分,返回true如果表单元素通过验证。 参数 message(Optional) 类型:String, Function 该方法的默认验证消息。可以用 jQuery.validator.format(value) 方法创建。如果未定义该参数,则使用本地已存在的验证消息,另外,必须为指定的表单元素定义验证消息。 说明:添加一个用户自定义的验证方法。它由方法名(必须是一个合法的javascript标识符)、基于javascript的函数及默认的验证消息组成。Js代码 jQuery.validator.addMethod("math", function(value, element, params) { return this.optional(element) || value == params[0] + params[1]; }, jQuery.format("Please enter the correct value for {0} + {1}")); [3] addClassRules( name, rules ) 返回:undefined 参数 name 类型:String 要添加的样式规则名。 参数 rules 类型:Options 规则选项。 说明:添加一个复合的样式验证方法。对于将多个联合使用的规则重构进单个样式中非常有用。Js代码 jQuery.validator.addClassRules("name", { required: true, minlength: 2 }); [4] addClassRules( rules ) 返回:undefined 参数 rules 类型:Options 样式类名-规则表。 说明:添加一个复合的样式验证方法。对于重构通用的联合规则非常有用。Js代码 jQuery.validator.addClassRules({ name: { required: true, minlength: 2 }, zip: { required: true, digits: true, minlength: 5, maxlength: 5 } });jQuery相关内容: