2

在圣杯中,

当违反特定的“唯一”约束时,我想设置出现的异常消息。

那可能吗?

4

2 回答 2

7

用于每个约束的消息代码列在该约束的参考页面中,例如 http://grails.org/doc/latest/ref/Constraints/unique.html。从那里看起来你需要的代码是

com.project.ModelName.fieldName.unique=blah 

您需要用适当的值替换 com.project.ModelName.fileName

感谢http://grails.1312388.n4.nabble.com/Custom-error-message-in-message-properties-td3335696.html

于 2012-08-19T15:36:17.943 回答
0

只是为了更新给定的答案,上面甚至文档似乎都建议:

此约束影响模式生成。

错误代码:className.propertyName.unique

但在我的应用程序中情况并非如此,也许 grails 3 中的情况发生了变化。我尝试了一个令人厌烦的变化,但仍然没有成功返回默认值。

对于其他面临这个问题的人来说,解决方案真的很简单。

找到返回响应的默认条目:

就我而言,我有两个条目:

##default.not.unique.message=Property [{0}] of class [{1}] with value [{2}] must be unique
##default.not.unique.message={0} must be unique

通过在行首添加哈希将它们都注释掉,并尝试再次保存记录。这次在我的 Web 界面上,我看到了实际的字段名称,而不是默认的 grails 消息。

unique.com.xxx.users.PhotosBean.imageSHa

我在messages.properties中添加了这个键的条目,发现一切运行良好。

还要注意它挂在子类而不是实际类上,也许在我的情况下它过于复杂。

在这些情况下的技巧是注释掉返回值的默认条目,然后在返回实际约束时重新启用。

于 2016-03-06T22:55:11.593 回答