7

我正在使用邮递员来验证从 api 返回的 json 数据的模式。

我有一个通过基本 http 验证运行的测试,然后以:

if (tv4.error){
    console.log("Validation failed: ", tv4.error);
}

我得到的错误很难理解。

验证失败:12:22:41.316
对象:{}
消息:“无效类型:数字(预期字符串)”
名称:“ValidationError”
类型:“错误”

但我需要知道验证失败的字段。我怎样才能得到这些信息?tv4的npm 页面建议错误消息应该更具描述性。

4

1 回答 1

6

根据 tv4 的文档,您可以使用 打印错误位置的路径console.log(tv4.error.dataPath),我不知道为什么这个属性没有记录在控制台中。

文档在这里。文档中的相关部分是:

如果验证返回 false,则可以在 tv4.error 中找到验证失败的原因。

错误对象将类似于:

{
    "code": 0,
    "message": "Invalid type: string",
    "dataPath": "/intKey",
    "schemaPath": "/properties/intKey/type"
}
于 2017-10-13T04:14:45.763 回答