# validator.js **Repository Path**: Rick_0/validator.js ## Basic Information - **Project Name**: validator.js - **Description**: 一个用于js表单验证的库,实现快速表单验证,创建可维护性高的表单验证代码 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-29 - **Last Updated**: 2021-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * # validator.js #### 介绍 一个用于js表单验证的库,实现快速表单验证,创建可维护性高的表单验证代码 #### 软件架构 原生js #### 安装教程 1. 克隆下来即可,或者复制index.js #### 使用说明 1. 引入函数 : ` import {validate} from 'xxx' ` 2. 书写配置: ` { key: { msg:'', name:'规则名',...otherParams } | [{}] } ` 3. 调用获取结果: ` const res = validate({...刚才的配置}, 提示的函数) ` ### 详细调用 ```js //引入 import { validate } from 'index.js'; // 验证的数据 const num = false // 书写配置 const formConfig = { num: { // key名随意,只是为了辨别配置项 value: num , //要验证的值 rule:[ //规则 { name:'number' , msg : '不是num' }, { name:'max' , msg : '不得大于10', max:'10'/* 这里写最大值限制*/ }, { name:'min' , msg : '不得大于10', max:'0'/* 这里写最小值限制*/ }, ] } } // 错误时调用 const tipCallback = (msg) => wx.showToast({message:msg}) // 这里以小程序提示为例 // 调用 const res = validate( formConfig, tipCallback ); console.log(res) // 打印结果 false ``` ### 验证规则的迭代 如何维护这些规则呢?或者是我想添加呢? 先预览一下验证规则 ```js const ERROR = false; //错误 const SUCCESS = true; // 成功 export const RULE_MAP = { max: (val, validateConfigItem) => { const { max } = validateConfigItem //这个 if (val > max) return ERROR return SUCCESS; }, } ``` 例如上述, 在 `RULE_MAP`添加 `key : (val,其他参数) : boolean =>{}`的函数就可以实现添加, validate函数会按照,`name`属性查找 `RULE_MAP[name]`的函数,并且调用。 函数里第一个参数,val 是配置value里的值, 函数里第一个参数, validateConfigItem 就是每一项 验证对象,例如: `{ name:'max' , msg : '不得大于10', max:'10' },` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)