邮递员:更具描述性的 tv4 验证错误消息
Posted
技术标签:
【中文标题】邮递员:更具描述性的 tv4 验证错误消息【英文标题】:Postman: More descriptive tv4 validation error message 【发布时间】:2017-12-27 10:37:43 【问题描述】:我正在使用postman 来验证从 api 返回的 json 数据的架构。
我有一个通过基本 http 验证运行的测试,然后以:
if (tv4.error)
console.log("Validation failed: ", tv4.error);
我得到的错误很难理解。
验证失败:12:22:41.316 对象: 消息:“无效类型: 数字(预期字符串)" 名称:“验证错误” 类型:“错误”
但我需要知道验证失败的字段。我怎样才能得到这些信息? npm page for tv4 建议错误消息应该更具描述性。
【问题讨论】:
如果您能看到任何相关内容,请尝试打印整个 tv4 对象 不,tv4 本身并没有什么真正有用的东西。 【参考方案1】:根据tv4的文档,可以使用console.log(tv4.error.dataPath)
打印错误位置的路径,不知道为什么控制台没有记录这个属性。
文档是here。 文档中的相关部分是:
如果验证返回 false,那么验证失败的原因可以在 tv4.error 中找到。
错误对象看起来像:
"code": 0, "message": "Invalid type: string", "dataPath": "/intKey", "schemaPath": "/properties/intKey/type"
【讨论】:
控制台没有通过仅记录 tv4 结果来记录任何 dataPath:var res = tv4.validateResult(data, schema); console.log("res",res);
。我必须添加 .error.dataPath 才能真正看到内容console.log("path",res.error.dataPath);
以上是关于邮递员:更具描述性的 tv4 验证错误消息的主要内容,如果未能解决你的问题,请参考以下文章