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