Skip to content

Commit 426fbd5

Browse files
committed
update: doc
1 parent aa93811 commit 426fbd5

1 file changed

Lines changed: 64 additions & 45 deletions

File tree

README.md

Lines changed: 64 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
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
290303
validatorInstance.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
// 添加自定义规则(这两种写法一样)
310323
WeValidator.addRule('theRuleName', {
311-
message: '默认错误提示文字',
324+
message: '默认错误信息文字',
312325
rule(value, param){
313326
return /\d/.test(value)
314327
}
315328
})
316329
WeValidator.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
348361
let b1 = WeValidator.checkValue('min', 'str', 6) // 不能小于6的数字
349362
let 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+
386405
function 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

Comments
 (0)