校验规则(高级校验)
最后更新于:2022-04-02 07:16:19
# 校验规则
[TOC]
校验规则可以对表单中的编码做出校验,例如校验复杂的编码等。
## 创建规则
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/14/6c/146cb97d4ce33c8d5da9a969ea85aa5a_998x576.png)
### 局部规则
局部规则按照你输入的位数有序的校验。
可以添加多行局部规则,按照添加的顺序逐行进行判断
比如说第一行的位数是3,第二行的位数是2,第三行的位数是4,那么在实际校验的时候,第一行校验的是`1-3`位字符串,第二行从上一行结束的位置开始向后移2位,也就是`4-5`位,第三行以此类推,可得出是`6-9`位。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/bc/cb/bccb01ff2c0217fa79caa2bcc6b6ab8b_800x312.png)
### 全局规则
全局规则跟局部规则不同的地方是:全局规则是对用户输入的整个字符串进行判断,而不是只判断第几位。
全局规则有运行的优先级,他们分别是:
* `优先运行` 会在局部规则之前运行
* `最后运行` 会在局部规则全部校验通过之后运行
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/32/f6/32f6e726bc334264b02ea12306b8b17b_974x390.png)
## 使用方法
### 第一步:引入工具类
```
import { validateCheckRule } from '@/utils/util'
```
### 第二步:使用工具类实现校验规则
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/7b/78/7b78668440d7a0434dec692ae056df04_1071x176.png)
```
validatorRules: {
code: {
rules: [
{required: true, message: '请输入编码'},
// 如果想要更简洁,还可以缩写下面的参数名,只写首字母
{validator: (r, v, c) => validateCheckRule('common', v, c)}
]
}
},
```
### 第三步:在页面上调用
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/c7/2b/c72bde2be0efcfb948a3d3e6e2dbae6f_842x91.png)
### 第四步:查看效果
未通过效果:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/20/02/2002c6de983cda648cd31b654b9e82e7_264x77.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/de/04/de0446826d9a5fa6151f2433ec3a63c8_232x86.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/b1/fc/b1fcabe66d3d2561d1a3613ccdbd0678_300x82.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/67/8c/678cf3e93c8de5ee55a89ea748fdeadf_270x76.png)
通过效果:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2d/f5/2df59f461bbffd65fd6e226959f9b5e1_257x77.png)
';