邮差:更具描述性的tv4验证错误消息

时间:2017-07-21 11:32:31

标签: json node.js api postman tv4

我使用postman来验证从api返回的json数据的模式。

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

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

我得到的错误很难理解。

  

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

但我需要知道验证失败的字段。我怎样才能获得这些信息? npm page for tv4表明错误消息应该更具描述性。

1 个答案:

答案 0 :(得分:6)

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

文档是here。 文档中的相关部分是:

  

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

     

错误对象看起来像:

{
    "code": 0,
    "message": "Invalid type: string",
    "dataPath": "/intKey",
    "schemaPath": "/properties/intKey/type"
}