Postman: More descriptive tv4 validation error message

扶醉桌前 提交于 2019-12-21 11:01:08

问题


I'm using postman to validate the schema of json data returned from an api.

I have a test that runs through basic http validation, then ends with:

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

The error I get back is difficult to fathom.

Validation failed: 12:22:41.316
Object:{}
message:"Invalid type: number (expected string)"
name:"ValidationError"
type:"Error"

But I need to know which field the validation failed on. How can I get this info? The npm page for tv4 suggests that the error message should be more descriptive.


回答1:


According to the documentation of tv4, you can print the path of the error location using console.log(tv4.error.dataPath), I have no idea why this attribute is not logged in the console.

Documentation is here. The relevant section in the documentation is:

If validation returns false, then an explanation of why validation failed can be found in tv4.error.

The error object will look something like:

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


来源:https://stackoverflow.com/questions/45236599/postman-more-descriptive-tv4-validation-error-message

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!