1- <div align =" center " >
1+ <p align =" center " >
22 <img width =" 400 " src =" assets/v2.png " alt =" we-validator " />
3- <br >
3+ </p >
4+ <p align =" center " >
5+ <a href =" https://travis-ci.org/ChanceYu/we-validator " ><img src =" https://img.shields.io/travis/ChanceYu/we-validator/master.svg?color=green&style=popout-square " /></a >
6+ <a href =" https://opensource.org/licenses/mit-license.php " ><img src =" https://img.shields.io/npm/l/we-validator.svg?color=blue&style=popout-square " /></a >
7+ <a href =" https://www.npmjs.com/package/we-validator " ><img src =" https://img.shields.io/npm/v/we-validator.svg?color=red&style=popout-square " /></a >
8+ </p >
49
5- <a href =" https://travis-ci.org/ChanceYu/we-validator " ><img src =" https://travis-ci.org/ChanceYu/we-validator.svg?branch=master " /></a >
6- <a href =" https://www.npmjs.com/package/we-validator " ><img src =" https://img.shields.io/npm/v/we-validator.svg " /></a >
7- <a href =" javascript:; " ><img src =" https://img.shields.io/badge/language-JavaScript-brightgreen.svg " /></a >
8- <a href =" https://opensource.org/licenses/mit-license.php " ><img src =" https://img.shields.io/npm/l/we-validator.svg " /></a >
10+ > 2.x 和 1.x 版本有所差别,如果您继续使用老版本,可以查看 [ 1.x 版本] ( https://github.com/ChanceYu/we-validator/tree/v1 ) 。如果您要升级到 2.x 请先阅读[ 升级指南] ( ./UPGRADE.md ) ,推荐使用 2.x 版本。
911
10- </ div >
12+ 简单灵活的表单验证插件,支持小程序、浏览器、Nodejs。小程序端支持:微信、支付宝、百度智能、字节跳动,小程序默认提示使用 ` showToast ` 。
1113
12- > v2 和 v1 版本差别较大,如果您继续使用老版本,可以查看 [ v1 版本] ( https://github.com/ChanceYu/we-validator/tree/v1 ) 。如果您要升级到 2.x 请先阅读[ 升级指南] ( ./UPGRADE.md ) ,推荐使用 2.x 版本。
13-
14- 简单灵活的表单验证插件,支持小程序、浏览器、Nodejs。小程序端支持:微信、支付宝、百度智能、今日头条,小程序默认提示使用 ` showToast ` 。
15-
16- [ API 文档] ( #api ) | [ 示例 Examples] ( #examples )
14+ [ API 文档] ( #api ) | [ 示例 Examples] ( #examples ) ,如果你 :sparkling_heart : 就点击 ** Star** 吧。
1715
1816## 特点
1917
20- - 使用简单灵活
21- - 不依赖任何框架
18+ - 使用简单灵活,不依赖任何框架
2219- 既支持原生小程序方式,也支持 mpvue、wepy、taro 等小程序框架使用
2320- 支持浏览器以及 Nodejs 端使用
2421- [ 支持自定义规则] ( #wevalidatoraddrulerulename-ruleoption )
22+ - [ 支持自定义错误信息提示] ( #wevalidatoronmessage )
2523- [ 支持动态添加或移除字段校验] ( #addrulesoptions )
26- - 支持 [ 实例化 ] ( #new-wevalidatoroptions ) 和 [ 值单独校验 ] ( #wevalidatorcheckvaluerulename-value-param ) 两种使用方式
27- - [ 支持自定义错误消息提示 ] ( #wevalidatoronmessage )
24+ - [ 支持单独校验一个或多个字段规则 ] ( #checkfieldsdata-fields-onmessage )
25+ - [ 支持函数校验 ] ( #wevalidatorcheckvaluerulename-value-param )
2826- [ 支持多个字段同时校验并显示错误] ( #多个字段同时校验并显示错误 )
2927- [ 默认支持常用校验规则] ( #默认支持的规则 )
3028
@@ -40,11 +38,9 @@ npm install we-validator --save
4038使用 cdn:
4139
4240``` html
43- <script src =" https://unpkg.com/we-validator/lib /we-validator.js" ></script >
41+ <script src =" https://unpkg.com/we-validator/dist /we-validator.min .js" ></script >
4442```
4543
46- 也可以直接引入 ` lib ` 目录下的 ` we-validator.js ` 到项目
47-
4844
4945## 使用
5046下面是微信小程序的用法,其它小程序类似
@@ -123,8 +119,9 @@ Page({
123119
124120## API
125121 - [ new WeValidator(options)] ( #new-wevalidatoroptions )
126- - [ .checkData(data, onMessage)] ( #checkdatadata-onmessage ) 校验数据,会显示错误提示信息
127- - [ .isValid(data)] ( #isvaliddata ) 校验数据是否有效,仅校验无提示
122+ - [ .checkData(data, onMessage)] ( #checkdatadata-onmessage ) 校验数据,会显示错误信息
123+ - [ .checkFields(data, fields, onMessage)] ( #checkfieldsdata-fields-onmessage ) 校验数据,会显示错误信息,只校验对应的字段
124+ - [ .isValid(data, fields)] ( #isvaliddata-fields ) 校验数据,不会显示错误信息,可单独校验特定字段
128125 - [ .addRules(options)] ( #addrulesoptions ) 动态添加字段校验
129126 - [ .removeRules(fields)] ( #removerulesfields ) 动态移除字段校验
130127
@@ -133,12 +130,12 @@ Page({
133130 - [ WeValidator] ( #static-api )
134131 - [ .addRule(ruleName, ruleOption)] ( #wevalidatoraddrulerulename-ruleoption ) 添加自定义规则
135132 - [ .checkValue(ruleName, value, param)] ( #wevalidatorcheckvaluerulename-value-param ) 单独校验某个内容
136- - [ .onMessage] ( #wevalidatoronmessage ) 设置全局错误提示
133+ - [ .onMessage] ( #wevalidatoronmessage ) 设置全局错误信息显示
137134
138135
139136## 默认支持的规则
140137
141- 具体规则内容可[ 查看源码] ( ./src/rules.js )
138+ > 具体规则内容可[ 查看源码] ( ./src/rules.js )
142139
143140| 规则 | 描述 | 默认提示 |
144141| --- | --- | --- |
@@ -174,7 +171,7 @@ Page({
174171
175172
176173## new WeValidator(options)
177- 实例化
174+ > 实例化
178175
179176** 返回** : <code >object</code > - <code >validatorInstance</code >
180177
@@ -183,7 +180,7 @@ Page({
183180| options | <code >object</code > | | |
184181| [ options.rules] | <code >object</code > | | 验证字段的规则 |
185182| [ options.messages] | <code >object</code > | | 验证字段错误的提示信息 |
186- | [ options.onMessage] | <code >function</code > | | 错误提示显示方式 <br >默认会自动检测环境。小程序默认使用` showToast ` <br >普通web浏览器默认使用` alert ` <br >Nodejs端不做处理建议自己配置,[ 详情] ( #wevalidatoronmessage ) |
183+ | [ options.onMessage] | <code >function</code > | | 错误信息显示方式 <br >默认会自动检测环境。小程序默认使用` showToast ` <br >普通web浏览器默认使用` alert ` <br >Nodejs端不做处理建议自己配置,[ 详情] ( #wevalidatoronmessage ) |
187184| [ options.multiCheck] | <code >boolean</code > | ` false ` | 是否校验多个字段<br >需要一次校验多个字段并显示错误信息时使用,[ 详情] ( #多个字段同时校验并显示错误 ) |
188185
189186<details >
@@ -217,28 +214,44 @@ new WeValidator({
217214</details >
218215
219216### .checkData(data, onMessage)
220- 校验数据,校验通过返回 ` true `
217+ > 校验数据,会显示错误信息,校验所有字段规则
218+
219+ ** 返回** : <code >boolean</code >
220+
221+ | 参数 | 类型 | 默认值 | 描述 |
222+ | --- | --- | --- | --- |
223+ | data | <code >object</code > | | 需要校验的表单数据 |
224+ | onMessage | <code >function</code > | | 自定义错误信息提示,[ 详情] ( #wevalidatoronmessage ) |
225+
226+ ### .checkFields(data, fields, onMessage)
227+ > 校验数据,会显示错误信息,只校验对应的字段
228+
229+ 通常用于单独校验一个或多个字段规则,使用场景例如:表单中某些字段校验通过按钮才可点击的场景,[ 参考] ( ./example/mpvue/src/pages/index/index.vue ) 。
221230
222231** 返回** : <code >boolean</code >
223232
224233| 参数 | 类型 | 默认值 | 描述 |
225234| --- | --- | --- | --- |
226235| data | <code >object</code > | | 需要校验的表单数据 |
227- | onMessage | <code >function</code > | | 自定义错误消息提示,[ 详情] ( #wevalidatoronmessage ) |
236+ | fields | <code >array</code > | | 校验的字段规则,必填<br >例如:<br >` ['phoneNo'] ` 只校验此字段的所有规则<br >` ['phoneNo:required'] ` 只校验此字段的 ` required ` 规则<br >` ['phoneNo:required,mobile'] ` 只校验此字段的 ` required ` 和 ` mobile ` 规则<br >` ['phoneNo', 'code'] ` 只校验这两个字段的所有规则 |
237+ | onMessage | <code >function</code > | | 自定义错误信息提示,[ 详情] ( #wevalidatoronmessage ) |
228238
229- ### .isValid(data)
230- 校验数据是否有效,无提示,校验通过返回 ` true `
239+ ### .isValid(data, fields )
240+ > 校验数据是否有效,不会提示错误信息
231241
232242** 返回** : <code >boolean</code >
233243
234244| 参数 | 类型 | 默认值 | 描述 |
235245| --- | --- | --- | --- |
236246| data | <code >object</code > | | 需要校验的表单数据 |
247+ | fields | <code >array</code > | | 校验的字段<br >不传,默认校验所有字段规则<br >如果有,只校验对应的字段规则<br >配置方法同 ` .checkFields(data, fields) ` |
237248
238249### .addRules(options)
239- 动态添加字段校验,可参考 [ 复杂的校验案例-自定义规则-动态添加字段校验 ] ( ./example/complex/index.html#L235 )
250+ > 动态添加字段校验,[ 参考 ] ( ./example/complex/index.html#L235 )
240251
241- ` options ` 参数和实例化 ` new WeValidator(options) ` 一样,[ 详情] ( #new-wevalidatoroptions )
252+ | 参数 | 类型 | 默认值 | 描述 |
253+ | --- | --- | --- | --- |
254+ | options | <code >object</code > | | 同 ` new WeValidator(options) ` ,[ 详情] ( #new-wevalidatoroptions ) |
242255
243256
244257<details >
@@ -280,24 +293,24 @@ validatorInstance.addRules({
280293</details >
281294
282295### .removeRules(fields)
283- 动态移除字段校验
296+ > 动态移除字段校验
284297
285298| 参数 | 类型 | 默认值 | 描述 |
286299| --- | --- | --- | --- |
287- | rules | <code >Array</code > | | 需要移除校验的表单字段 |
300+ | fields | <code >Array</code > | | 需要移除校验的表单字段 |
288301
289302``` javascript
290303validatorInstance .removeRules ([' username' ])
291304```
292305
293306## WeValidator.addRule(ruleName, ruleOption)
294- 静态方法:添加自定义规则,可参考 [ 复杂的校验案例-自定义规则-动态添加字段校验 ] ( ./example/complex/index.html )
307+ > 静态方法:添加自定义规则,可 [ 参考 ] ( ./example/complex/index.html )
295308
296309| 参数 | 类型 | 默认值 | 描述 |
297310| --- | --- | --- | --- |
298311| ruleName | <code >string</code > | | 规则名称 |
299312| ruleOption | <code >object</code > | | 规则配置 |
300- | [ ruleOption.message] | <code >string</code > | | 默认错误提示文字 <br >可以动态插入参数,例如 ` 请输入长度在 {0} 到 {1} 之间的字符 ` ,[ 参考] ( ./src/rules.js#L127 ) |
313+ | [ ruleOption.message] | <code >string</code > | | 默认错误信息文字 <br >可以动态插入参数,例如 ` 请输入长度在 {0} 到 {1} 之间的字符 ` ,[ 参考] ( ./src/rules.js#L127 ) |
301314| [ ruleOption.rule] | <code >function\| regexp</code > | | 规则校验函数,需要返回一个 ` boolean ` 。<br >也可以直接写一个正则表达式(如果只是正则类型的校验)。 |
302315
303316<details >
@@ -308,13 +321,13 @@ const WeValidator = require('we-validator')
308321
309322// 添加自定义规则(这两种写法一样)
310323WeValidator .addRule (' theRuleName' , {
311- message: ' 默认错误提示文字 ' ,
324+ message: ' 默认错误信息文字 ' ,
312325 rule (value , param ){
313326 return / \d / .test (value)
314327 }
315328})
316329WeValidator .addRule (' theRuleName' , {
317- message: ' 默认错误提示文字 ' ,
330+ message: ' 默认错误信息文字 ' ,
318331 rule: / \d /
319332})
320333
@@ -340,20 +353,24 @@ WeValidator.checkValue('theRuleName', 'str')
340353
341354
342355## WeValidator.checkValue(ruleName, value, param)
343- 静态方法:值单独校验
356+ > 静态方法:函数校验
344357
345- 支持所有[ 默认支持的规则] ( #默认支持的规则 ) ,也支持自定义的规则。通常用于单独校验某个值,或者表单中某些字段填写了按钮才可点击的场景, [ 参考 ] ( ./example/mpvue/src/pages/index/index.vue ) 。
358+ 支持所有[ 默认支持的规则] ( #默认支持的规则 ) ,也支持自定义的规则。
346359
347360``` javascript
348361let b1 = WeValidator .checkValue (' min' , ' str' , 6 ) // 不能小于6的数字
349362let b2 = WeValidator .checkValue (' range' , ' str' , [2 , 5 ]) // 大于2小于5的数字
350363```
351364
352365## WeValidator.onMessage
353- 自定义错误消息提示,可以全局配置一个,也可以单独配置。
366+ > 自定义错误信息提示
367+
368+ 可以全局配置一个,也可以单独配置,非常灵活。
354369
355370优先级是:` .checkData(data, onMessage) ` > ` new WeValidator({ onMessage }) ` > ` WeValidator.onMessage ` > 默认检测
356371
372+ 默认的消息提示方式:小程序默认使用` showToast ` ,浏览器默认使用` alert ` ,Nodejs端无处理建议自己配置。
373+
357374<details >
358375<summary >点击查看栗子 :chestnut: </summary >
359376
@@ -383,18 +400,17 @@ new WeValidator({
383400})
384401
385402// 3、验证的时候配置 onMessage(nodejs端校验可以使用此方式)
403+ if (! obj .checkData (formData, onMessage)) return
404+
386405function onMessage (data ){
387406 alert (data .msg )
388407}
389- if (! obj .checkData (formData, onMessage)){
390- return
391- }
392408```
393409
394410</details >
395411
396412### 多个字段同时校验并显示错误
397- 显示如下 ,** 注意:当` multiCheck ` 为` true ` 时,建议使用自定义` onMessage ` ** ,[ 参考] ( ./example/web/index.html )
413+ 使用场景如下 ,** 注意:当` multiCheck ` 为` true ` 时,建议使用自定义` onMessage ` ** ,[ 参考] ( ./example/web/index.html )
398414
399415![ we-validator] ( ./assets/demo_multi.png )
400416
@@ -407,7 +423,7 @@ var validatorInstance = new WeValidator({
407423 onMessage : function (data ){
408424 console .log (data);
409425
410- // 根据自己的项目去处理
426+ // 根据自己的项目去处理,控制错误信息的显示
411427 },
412428 rules: {
413429 username: {
@@ -432,6 +448,9 @@ var validatorInstance = new WeValidator({
432448
433449</details >
434450
451+ ## Changelog
452+ [ 查看更新日志] ( ./CHANGELOG.md )
453+
435454## Issues
436455如果您在使用过程中发现 Bug,或者有好的建议,欢迎[ 报告问题] ( https://github.com/ChanceYu/we-validator/issues ) 。
437456
0 commit comments