我开始将AJV(https://github.com/epoberezkin/ajv)与AJV错误(https://www.npmjs.com/package/ajv-errors)一起使用,我试图找出如何自定义错误以实现我惯用的某种格式。
我正在检查来自注册表的JSON输入。我的旧代码以以下格式返回错误:
{
"firstname": "Firstname is required field",
"lastname": "Lastname must be longer than 0 chars",
"...":...
}
我将以前的Validation(我只是通过Validator.JS逐个字段进行验证)更改为AJV验证程序,因为我需要在道具数量超过所需数量时进行阻止(以保护数据库)。
我的问题是当我使用这种模式时:
{
type: "object",
properties: {
firstname: {
type: "string",
},
lastname: {
type: "string",
},
},
additionalProperties: false,
required: ["firstname", "lastname"],
"errorMessage": {
"properties": {
firstname: "Bad format"
},
"required": {
firstname: "This is shown in errors but does not have dataPath"
}
}
}
并且不填写例如firstname
字段。我遇到了错误,但没有dataPath,因此无法将此错误消息与正确的字段连接以生成预期的响应。
有一些解决方法吗?