我试图从与 Grails 中的域对象交互时引发的异常中确定错误代码是什么。
我有一个具有一些字段验证的数据库,其中一个验证是特定列必须是唯一的。根据文档,它将给出 className.propertyName.unique
( http://grails.org/doc/latest/ref/Constraints/unique.html ) 的错误代码。当我将 Controller 包装在 try catch block 中时,例如。我可以捕获各种验证异常:
catch (grails.validation.ValidationException e) {
exception handling code here
}
如何获取错误代码?我想做一些类似的事情如果错误代码= className1.propertyName2.unique
,则响应propertyName2不是唯一的
。
当我执行保存操作时,我确实将“failOnError: true”设置为参数。
谢谢!
最佳答案
错误代码隐藏在对象深处。它将是通过调用以下代码返回的列表中的项目之一,其中“e”是异常对象。
e.getErrors().getFieldError()
您还可以通过调用以下代码从异常中获取代码(在本例中为“唯一”):
e.getErrors().getFieldError().getCode()
关于Grails 错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27845292/