diff --git "a/\344\275\277\347\224\250\350\257\264\346\230\216.md" "b/\344\275\277\347\224\250\350\257\264\346\230\216.md" index 6f7a574..b140798 100644 --- "a/\344\275\277\347\224\250\350\257\264\346\230\216.md" +++ "b/\344\275\277\347\224\250\350\257\264\346\230\216.md" @@ -1,16 +1,23 @@ #VldRulesLib -@date:2013-8-14 @author:Maxiupeng +@date:2013-8-14 + +@author:Maxiupeng ##功能介绍 -VldRulesLib.js封装了常用的数据检验规则,对输入数据进行校验,给出校验结果(true or false),以及给出相应的修正结果。 -不依赖其他库,可独立使用,并提供规则扩展接口,可自由扩展更多验证规则。 +VldRulesLib.js封装了常用的数据检验规则,对输入数据进行校验,给出校验结果(true or false),以及给出相应的修正结果。 + +不依赖其他库,可独立使用,并提供规则扩展接口,可自由扩展更多验证规则。 + 所有的方法都在VldRulesLib命名空间下。 ##使用方法 ###1、数据验证 VldRulesLib内置了28种验证规则,详细列表和说明见附录。 -调用VldRulesLib.validate(value, rule)进行验证。 -其中value为待验证的数据;rule为规则数组,每个数组元素为string类型,格式为:规则名[参数],如min[5],表示规则“最小长度为5”,规则名可直接使用字符串字面量,也可以调用VldRulesLib.RULES中的字段.如VldRulesLib.RULES.min(5),VldRulesLib.RULES.required()等。该方法返回一个object类型的值,格式为: + +调用`VldRulesLib.validate(value, rule)`进行验证。 + +其中value为待验证的数据;rule为规则数组,每个数组元素为string类型,格式为:规则名[参数],如`min[5]`,表示规则“最小长度为5”,规则名可直接使用字符串字面量,也可以调用`VldRulesLib.RULES`中的字段.如`VldRulesLib.RULES.min(5)`,`VldRulesLib.RULES.required()`等。该方法返回一个object类型的值,格式为: + ```js { passed: passed, @@ -19,10 +26,14 @@ VldRulesLib内置了28种验证规则,详细列表和说明见附录。 details: details }; ``` -其中passed表示是否通过验证;rules表示原始的验证规则数组,即第二个参数;revisedVal为修正后的数据值,如使用number验证"123ABC4",则revisedVal为1234;details表示每个规则对应的验证结果,如使用["required","min[5]","number"]验证数据"123ABC4",则details为[true,true,false]。注意,details的验证结果与rule中的元素顺序有关,因为实际验证过程为:上一个验证结果的修正值传给下一个验证方法。针对上面的例子,如果将rule改为["required","number","min[5]"],则details为[true,false,false]。因为numer将原始值修正为1234,不满足最小长度为5的规则,但这并不印象最终的验证结果为false,因为规则之间为"与"关系。 +其中passed表示是否通过验证;rules表示原始的验证规则数组,即第二个参数;revisedVal为修正后的数据值,如使用number验证"123ABC4",则revisedVal为1234;details表示每个规则对应的验证结果,如使用`["required","min[5]","number"]`验证数据"123ABC4",则details为`[true,true,false]`。 + +注意,details的验证结果与rule中的元素顺序有关,因为实际验证过程为:上一个验证结果的修正值传给下一个验证方法。针对上面的例子,如果将rule改为`["required","number","min[5]"]`,则details为`[true,false,false]`。因为numer将原始值修正为1234,不满足最小长度为5的规则,但这并不影响最终的验证结果为false,因为规则之间为"与"关系。 ###2、规则扩展 -调用方法VldRulesLib.extend(ruleName, check, revise)即可对规则库进行扩展。 +调用方法`VldRulesLib.extend(ruleName, check, revise)`即可对规则库进行扩展。 + 其中ruleName表示验证规则名,字符串类型;check表示进行验证的正则表达式或方法,若是方法,则需要范围true或false;revise为进行数据矫正的方法,需要返回校正后的值。 + 调用示例: ```js VldRulesLib.extend("alphanumeric", /^[A-Za-z0-9]*$/, function(value) {