Grails 错误代码

Grails Error Code

我试图确定在与 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" 设置为参数。

谢谢!

错误代码深埋在对象中。它将是通过调用以下代码返回的列表中的一项,其中 'e' 是异常对象。

e.getErrors().getFieldError()

您还可以通过调用以下命令从异常中获取代码(在本例中为 "unique"):

e.getErrors().getFieldError().getCode()