0

在我的模式中Ajv使用时,我发现很难处理错误消息。not在我的用例中,我想验证两个道具的价值不同。考虑这个例子:

模式.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是不满意。

有没有人有提示或解决方法如何获得此用例的有意义的错误消息?

4

1 回答 1

1

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

于 2017-09-22T17:14:03.220 回答