我目前在GSP页面中收到以下错误消息:
具有值的类[class com.domain.Tld]的属性[namespace] [partnerFebruary10BTESTTEST]不在有效大小范围内 从[0]到[20]
我想用自己的自定义消息替换它。
我添加了以下messages.properties
:
com.domain.Tld.namespace.size.error.com.domain.Tld.namespace=The provided domain is too large and must not exceed {4} characters.
和
com.domain.Tld.namespace.size.toobig=The provided domain is too large and must not exceed {4} characters.
我看过其他帖子,例如Grails Problem with custom error messages,但我无法解决问题。
域限制是:
static constraints = {
namespace size: 0..20, nullable: true, unique: "name"
}
我还找到了一个名为Localization.groovy
的类,其方法为static String decodeMessage(String code, Locale locale)
。在调试器中,调用此方法时将使用代码default.invalid.size.message
。
我发现特定项目正在使用本地化插件(https://github.com/halfbaked/grails-localizations),它基本上将属性文件加载到数据库中。在进行代码查找时,将调用decodeMessage
方法。特定decodeMessage
方法的实现由于实现而导致空值,因此从未找到消息。