You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:15:05