Grails 错误代码

标签 grails grails-orm unique-constraint grails-domain-class grails-validation

我试图从与 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/

相关文章:

grails - 为什么 GORM 不保存我的对象?

sql - 有没有好的方法在 SQL 中做到这一点?

xcode - CoreData 唯一约束在 Xcode 中消失

mysql - grails 不允许导致数据修改的查询

Grails 保存方法返回 null

constraints - 约束随机化,对于 16 位变量,连续 2 位设置为 1,其他位设置为 0

java - 按日期降序排序列表 - groovy madness

java - 为什么 taglib 测试会抛出 GrailsTag 异常?

grails - Grails命令对象和输入名称值

grails - 客户端上的Grails表单验证