gpt4 book ai didi

javascript - 如何通过消息抛出 tv4 错误?

转载 作者:行者123 更新时间:2023-11-28 18:36:58 24 4
gpt4 key购买 nike

下面的数据架构存在错误,并且测试中存在一个未通过验证的对象。我可以抛出错误,但没有错误消息。

var tv4 = require('tv4')

var schema = {
"items": {
"type": "boolean"
}
}

tv4.setErrorReporter(function (error, data, schema) {
return "Custom error message"
})

var data1 = [true, false]
var data2 = [true, 123]

console.log(tv4.validate(data1, schema))
if (tv4.error) throw tv4.error
console.log(tv4.validate(data2, schema))
if (tv4.error) throw tv4.error

该消息仍然没有错误消息。

Error
at new ValidationError (/project/node_modules/tv4/tv4.js:1461:12)
at ValidatorContext.createError (/project/node_modules/tv4/tv4.js:359:14)
at ValidatorContext.validateType (/project/node_modules/tv4/tv4.js:751:14)
at ValidatorContext.validateBasic (/project/node_modules/tv4/tv4.js:721:19)
at ValidatorContext.validateAll (/project/node_modules/tv4/tv4.js:599:19)
at ValidatorContext.validateArrayItems (/project/node_modules/tv4/tv4.js:947:21)
at ValidatorContext.validateArray (/project/node_modules/tv4/tv4.js:880:11)
at ValidatorContext.validateAll (/project/node_modules/tv4/tv4.js:602:11)
at Object.api.validate (/project/node_modules/tv4/tv4.js:1573:24)
at Object.<anonymous> (tv4-test.js:20:17)

如何通过消息抛出无效架构?

最佳答案

谢谢你们,这节省了我近一半的时间:),谢谢你们对于其他人,请始终使用这 3 行进行架构测试:

  console.log(" Schema Valid " +JSON.stringify(tv4.validate(jsonData ,schema)));
console.log("Validation errors: "+ tv4.error);
console.log(tv4.error.dataPath);

输出如下:

日志

false
Validation errors: ValidationError: Invalid type: string (expected integer)
/guardVerificationUrl

此外,如果您想知道什么类型的错误,请使用:

console.log(tv4.error.schemaPath); 

输出:

/properties/guardVerificationUrl/type

关于javascript - 如何通过消息抛出 tv4 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com