ajv-errors-如何为属性定义错误消息

时间:2019-03-20 22:35:43

标签: javascript node.js json validation ajv

我开始将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,因此无法将此错误消息与正确的字段连接以生成预期的响应。

有一些解决方法吗?

0 个答案:

没有答案