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

如何修改fastest-validator的错误输出格式?

修改fastest-validator错误输出格式

你可以通过对验证返回的错误数组进行映射转换,快速得到目标格式:

const Validator = require("fastest-validator");

const v = new Validator();

const schema = {
    id: { type: "number", positive: true, integer: true },
    name: { type: "string", min: 3, max: 255 },
    status: "boolean" // 简写定义
};

const check = v.compile(schema);

// 执行验证
const validationResult = check({ id: 2, name: "Adam" });

// 转换错误格式
if (validationResult !== true) {
    const formattedErrors = validationResult.map(error => ({
        [error.field]: error.message
    }));
    console.log("格式化后的错误:", formattedErrors);
}

代码说明

  • 验证失败时,check函数返回包含type、field、message的错误数组
  • 使用Array.map()遍历每个错误对象,以field值为键、message值为值,生成新的对象
  • 最终输出的格式即为你需要的:每个错误对象以验证字段名为键,错误提示信息为值

如果需要全局统一处理这种格式转换,可以封装一个工具函数:

function formatValidationErrors(errors) {
    return errors.map(err => ({ [err.field]: err.message }));
}

// 使用示例
const formattedErrors = formatValidationErrors(validationResult);

内容的提问来源于stack exchange,提问作者Alireza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:31:15