简体   繁体   中英

Postman: More descriptive tv4 validation error message

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.

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" } 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM