【发布时间】:2014-02-09 19:17:04
【问题描述】:
我已经阅读了微风验证器信息,但不确定如何查看正在发生的实际错误。
错误:遇到客户端验证错误 - 有关详细信息,请参阅此对象的实体错误集合。
我相信它在 entity.entityAspect.getValidationErrors() 中的某个地方,但我无法弄清楚如何从中获取实际错误。
我正在尝试将记录插入实体并在出现此错误消息时保存更改。
【问题讨论】:
我已经阅读了微风验证器信息,但不确定如何查看正在发生的实际错误。
错误:遇到客户端验证错误 - 有关详细信息,请参阅此对象的实体错误集合。
我相信它在 entity.entityAspect.getValidationErrors() 中的某个地方,但我无法弄清楚如何从中获取实际错误。
我正在尝试将记录插入实体并在出现此错误消息时保存更改。
【问题讨论】:
见:
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 ..
});
【讨论】:
您可以在尝试保存时“捕获”错误,如下所示:
manager.saveChanges()
.catch(function(error){
console.log("error catch", error, error.entityErrors);
});
请记住,之后的任何代码都需要在
setTimeout(function() {}, 0);
因为捕获是异步的。 这是您无需遍历应用程序中的所有实体即可找到有错误的实体。
【讨论】: