fastest-validator如何配置多个正则校验规则及对应自定义错误提示
实现方案
你可以将pass字段的校验规则拆分为多个独立的规则项,每个规则单独绑定自定义错误提示,fastest-validator 天然支持单字段多规则的配置形式,修改后代码如下:
const Validator = require("fastest-validator"); const v = new Validator(); const registerSchema = { email: { type: "email", messages: { email: "请输入合法的邮箱地址" }}, pass: [ // 基础类型、长度校验 { type: "string", min: 8, max: 20, messages: { string: "密码必须为字符串格式", stringMin: "密码长度不能少于8位", stringMax: "密码长度不能超过20位" }}, // 校验至少包含1个数字 { type: "string", pattern: /\d/, messages: { pattern: "密码必须包含至少1个数字" }}, // 校验至少包含1个字母 { type: "string", pattern: /[a-zA-Z]/, messages: { pattern: "密码必须包含至少1个字母" }} ] }; exports.validateRegister = v.compile(registerSchema);
实现说明
- 单字段配置为数组格式时,每一项为一条独立校验规则,按顺序执行校验,触发任意规则失败就会返回对应自定义提示
- 两条正则规则互相独立,分别校验数字和字母的存在性,错误提示完全分开,符合需求
内容的提问来源于stack exchange,提问作者Ali Shefaee
相关产品推荐
相关产品推荐

