UNPKG

@jypj/validate-control

Version:

一个简单校验器,用于验证传入的数据是否符合要求

89 lines (73 loc) 2.93 kB
# validate-control 一个简简单单的校验器 ## 使用说明 使用前需要先`new`一个实例出来,然后使用`validate`函数进行数据校验,实例内部有一个`pass`的属性,当这个属性为`true`时,即校验通过。 `validate`的函数签名如下 ```js /** * 校验函数,传入rule 以及 错误提示信息即可 * @param {string} rule - 校验规则,内部已集成一些校验可以调用 * @param {string} error_msg - 错误提示信息 * @param {type} props - 当内部集成的函数需要额外参数,通过此参数传入 * @return {ValidateControl} 返回实例 */ validate(rule = null, error_msg = null,props) : class ValidateControl() ``` ## 使用例子 ### 校验单个值 ```js const validateControl = new ValidateControl('13022222222') validateControl.validate('isMobile','请输入正确的手机号码') // 校验通过 if (validateControl.pass){ // ... } ``` ### 校验多个值 如果需要校验多个数据的情况下,插件内部有一个`value`函数,在这里可以重新设置插件内部的值。 使用例子如下: ```js const validateControl = new ValidateControl('13022222222') validateControl.validate('isMobile','请输入正确的手机号码') validateControl.value('130xxxxxxxx') validateControl.validate('isMobile','请输入正确的手机号码') // 校验通过 if (validateControl.pass){ // ... } ``` **在这种多数据校验的情况下,如果上一个数值不通过,则不会执行下面的校验,会直接返回错误** ### 链式调用 ```js const validateControl = new ValidateControl('13022222222') .validate('isMobile','请输入正确的手机号码') .value('130xxxxxxxx') .validate('isMobile','请输入正确的手机号码') // 校验通过 if (validateControl.pass){ // ... } ``` ### 需要额外传输参数时 ```js const validateControl = new ValidateControl('13022222222') .validate('isRegExp','请输入正确的手机号码',/^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}\d{8}$/) // 校验通过 if (validateControl.pass){ // ... } ``` ## 内部集成的校验规则 | 调用名 | 简介 | | ------------ |-----------------------| | isMobile | 是否为手机号码 | | isRequired | 是否为空,支持对象,数组,数字为0的也为空 | | isIdCard | 是否为身份证号码 | | isRegExp | 自定义正则校验 | | isMoneyFloat | 是否为最多两位小数点的金额 | | isExternal | 是否为外链(携带http / https) | | isChinese | 是否全为中文 | | isEmail | 是否为邮箱 | | isBankCard | 是否为银行卡号(16-19位纯数字) | | isLetter | 是否全为字母 | | isAlphanumeric | 是否为字母+数字(不含特殊字符) |