我已阅读了breeze验证器信息,但不确定如何查看正在发生的实际错误。
错误:遇到客户端验证错误 - 有关更多详细信息,请参阅此对象上的实体错误集合。
我相信它存在于entity.entityAspect.getValidationErrors()的某个地方,但我无法弄清楚如何从中获取实际错误。
我正在尝试将记录插入实体并在发生此错误消息时保存更改。
答案 0 :(得分:9)
见:
http://www.breezejs.com/sites/all/apidocs/classes/ValidationError.html
http://www.breezejs.com/sites/all/apidocs/classes/EntityAspect.html#method_getValidationErrors
简单示例:
var errors = entity.entityAspect.getValidationErrors();
errors.forEach(function(ve) {
var errorMessage = ve.errorMessage;
var property = ve.property;
});
要获取 EntityManager 中的所有错误,您可以使用
manager.getEntities().forEach(function(entity) {
var errors = entity.entityAspect.getValidationErrors();
//.. do something with the errors ..
});
答案 1 :(得分:0)
您可以在尝试保存时“捕获”错误,如下所示:
manager.saveChanges()
.catch(function(error){
console.log("error catch", error, error.entityErrors);
});
请记住,之后的任何代码都需要在
中setTimeout(function() {}, 0);
因为捕获是异步的。 这是您不需要遍历应用程序中的所有实体来查找有错误的实体。