简介
min-valid 是一个轻量级的 JavaScript 库,用于验证输入的数据是否符合规范。它具有简单、易用、扩展性强的特点,适用于前端和 Node.js 环境下的数据验证,如表单验证、接口参数验证等。
安装
使用 npm 进行安装:
npm install min-valid --save
也可以通过 CDN 直接引入:
<script src="https://cdn.jsdelivr.net/npm/min-valid/dist/min-valid.min.js"></script>
使用
在 Node.js 中使用
在 Node.js 环境下,先引入 min-valid 库:
const validator = require('min-valid');
然后就可以使用 validator 对象来验证数据了:
-- -------------------- ---- ------- -- ------ ----- ------ - -------------------- ----- --- ---- -- -- - ----- - --------- ---- -- ---- - ----- -------- - --- -------------------- -- --- - -------- ------ -------- --- ---- ------ -展开代码
在浏览器中使用
在浏览器中,可以通过 script 标签引入:
<script src="./path/to/min-valid.min.js"></script>
然后就可以使用 minValid 对象来验证数据了:
-- -------------------- ---- ------- -- ------ ----- ------ - ------------------- ----- --- ---- -- -- - ----- - --------- ---- -- ---- - ----- -------- - --- -------------------- -- --- - -------- ------ -------- --- ---- ------ -展开代码
API
validate(data, rules)
验证数据是否符合规范。
参数:
- data - 需要验证的数据
- rules - 验证规则,是一个对象,包含每个字段的验证规则
返回值:
- 如果验证通过,返回 { success: true },否则返回 { success: false, message: 错误信息 }
const result = validator.validate({ name: 'Lucy', age: 18 }, { name: { required: true }, age: { type: 'number' } }); console.log(result); // 输出: { success: true }
addRule(name, rule)
添加自定义验证规则。
参数:
- name - 规则名称
- rule - 验证函数,接受两个参数:value 和 param,value 是需要验证的值,param 是规则参数
-- -------------------- ---- ------- ----------------------- --------------- - ------ --------------------------------------------------- --- ----- ------ - -------------------- --- ------------- -- - --- - --- ---- - --- -------------------- -- --- - -------- ---- -展开代码
内置规则
required
用于验证必填字段。
参数:无
const result = validator.validate({ name: '', age: 18 }, { name: { required: true }, age: { type: 'number' } }); console.log(result); // 输出: { success: false, message: '字段 name 为必填字段' }
type
用于验证数据类型。
参数:需要验证的数据类型,可以是:string、number、boolean 三者之一。
const result = validator.validate({ name: 'Lucy', age: '18' }, { name: { type: 'string' }, age: { type: 'number' } }); console.log(result); // 输出: { success: false, message: '字段 age 的值类型应该是 number' }
pattern
用于验证数据格式。
参数:正则表达式对象或字符串类型的正则表达式。
const result = validator.validate({ email: 'lucygmail.com' }, { email: { pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ } }); console.log(result); // 输出: { success: false, message: '字段 email 的值格式错误' }
range
用于验证数据是否在指定的范围内。
参数:min 和 max,表示最小值和最大值。
const result = validator.validate({ age: 10 }, { age: { range: { min: 18, max: 60 } } }); console.log(result); // 输出: { success: false, message: '字段 age 的值必须在 18 和 60 之间' }
length
用于验证字符串的长度。
参数:min 和 max,表示最小长度和最大长度。
const result = validator.validate({ name: 'Lucy' }, { name: { length: { min: 5, max: 10 } } }); console.log(result); // 输出: { success: false, message: '字段 name 的长度必须在 5 和 10 之间' }
总结
min-valid 是一个轻量级的验证库,可以方便地在前端和 Node.js 环境下进行数据验证。通过本文的介绍,你已经了解了该库的基本使用,包括安装、引入、API 等。min-valid 还提供了丰富的内置规则,也支持自定义规则,可以满足大多数数据验证的需求。希望本文对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600673e1fb81d47349e53d4c