如何使用消息抛出tv4错误?

时间:2016-04-27 18:58:35

标签: javascript json error-handling

下面的数据模式中有一个错误,并且测试中存在一个验证失败的对象。我可以抛出错误,但没有错误消息。

EventSourceException: No Free Buffers available from the operating system (e.g. event rate too fast)

消息仍然没有错误消息。

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

如何使用消息抛出无效架构?

1 个答案:

答案 0 :(得分:0)

谢谢你这几乎保存了我的一半lyf :),谢谢大家 而对于其他人总是使用这3行进行模式测试:

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

并输出如下:

<强> LOGGS

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

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

console.log(tv4.error.schemaPath); 

输出:

/properties/guardVerificationUrl/type