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