圣杯错误代码



我正在尝试从与Grails中的域对象交互时抛出的异常中确定错误代码是什么。

我有一个数据库,其中包含一些字段验证,其中一个验证是特定列必须是唯一的。 根据文档,它将给出错误代码className.propertyName.unique(http://grails.org/doc/latest/ref/Constraints/unique.html)。 当我将控制器包装在尝试捕获块中时。 我可以捕获各种验证异常:

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()

您还可以通过调用以下内容从异常中获取代码(在本例中为"唯一"):

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

最新更新