Json Schema AJV not:const:错误信息不明确

时间:2017-09-22 13:25:55

标签: javascript json schema ajv

我发现在我的架构中使用Ajv时,很难使用not的错误消息。在我的用例中,我想验证两个不具有相同值的道具。考虑这个例子:

schema.json

{
  "$schema": "http://json-schema.org/draft-06/schema",
  "properties": {
    "propA": {
      "type": "string"
    },
    "propB": {
      "type": "string",
      "not": {
        "const": {
          "$data": "1/propA"
        }
      }
    }
  }
}

数据

{ propA: 'foo', propB: 'foo' }

输出

[ { keyword: 'not',
    dataPath: '.propB',
    schemaPath: '#/properties/propB/not',
    params: {},
    message: 'should NOT be valid' } ]

错误消息告诉我not被拒绝,但真正相关的信息是const不满意。

是否有人提示或解决方法如何为此用例获取有意义的错误消息?

1 个答案:

答案 0 :(得分:1)

“const”实际上很满意,这就是“不”失败的原因。 错误对象包含数据和模式中的路径,并且使用“详细”选项,它将包含对导致失败的数据和模式的引用;从这些你应该能够解释错误。