我正在尝试确定错误代码是从与Grails中的域对象交互时抛出的异常中产生的。
我有一个有一些字段验证的数据库,其中一个验证是特定列必须是唯一的。根据文档,它将给出className.propertyName.unique(http://grails.org/doc/latest/ref/Constraints/unique.html)的错误代码。当我把我的控制器封装在一个try catch块中时,就像。我可以捕获各种验证异常--如下所示:
catch (grails.validation.ValidationException e) {
exception handling code here
} 如何访问错误代码?我想做一些类似If the Error Code = className1.propertyName2.unique的事情,然后响应propertyName2 is not unique。
在进行保存操作时,我确实将"failOnError: true“设置为参数。
谢谢!
发布于 2015-01-09 15:58:41
错误代码被深埋在对象中。它将是通过调用以下代码返回的列表中的项之一,其中'e‘是异常对象。
e.getErrors().getFieldError()还可以通过调用以下命令从异常获取代码(在本例中为“唯一”):
e.getErrors().getFieldError().getCode()https://stackoverflow.com/questions/27845292
复制相似问题