jQuery验证框架(五)验证器
五、验证器( 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相关内容: