我目前正在尝试在 grails 中为默认约束指定自定义错误消息,但到目前为止,我得到的只是默认错误消息。
我知道我必须编辑 grails-app/i18n/messages.properties 文件
如果我更改以下默认错误代码消息,它将正确显示新的错误消息
default.blank.message=Property [{0}] of class [{1}] cannot be blank
但是,这不是我想要做的。我需要更精细的错误报告,并且有多个可以为空白的字段等。我想做的是,为类中的每个字段显示自定义消息
package com.mycompany.myapp
class Test{
String name
def constraints = {
name(nullable:false, blank:false)
}
}
(以下代码附加到 messages.properties 的末尾)
test.name.blank=Name cannot be blank
test.name.nullable=Name cannot be nullable
根据 grails 文档,这应该可以正常工作,无论有没有包名 - className.propertyName.blank
grails.org/doc/latest/(约束部分)和(第 7.4 节 - 验证和国际化)
我已经尝试了所有我能想到的组合,但它总是显示自定义消息
我也试过安装 grails i18n 模板插件
http://www.grails.org/I18n+Templates+Plugin
它会自动为我生成错误代码。我将新的错误代码附加到现有 messages.properties 文件的末尾,但我仍然收到默认错误消息。
但是,插件生成的错误代码有所不同。
而不是 grails 文档中指定的格式 - test.name.null=......,它会自动生成 test.name.null.error=Custom Message
我也尝试过完全删除默认错误消息,但它们仍然显示
如果有人以前遇到过这个问题,我将不胜感激任何人都可以给我的帮助
提前致谢