【发布时间】:2011-07-15 10:59:27
【问题描述】:
是否可以在 grails 的其他国际化消息中包含 i18n 属性值?
我有一个包含 2 个属性“minDelay”和“maxDelay”的域类,我想编写一条国际化消息,引用这两个属性的标签。
我写了一个自定义验证器(maxDelay 必须大于等于 minDelay):
maxDelay(validator:{
value, reference ->
if (value < reference.minDelay) {
return ['custom.error', it]
} else {
return true;
}
})
当它失败时,我正在打印属性stub.maxDelay.custom.error。
在我的 messages.properties 中有属性:
stub.maxDelay.custom.error=Property [{0}] must be bigger than value of minDelay
stub.minDelay.label=Min. delay (ms)
stub.maxDelay.label=Max. delay (ms)
如何使用stub.minDelay.label 属性的值而不是静态文本?
错误消息应如下所示:
"Property [Max. delay (ms)] must be bigger than value of [Min. delay (ms)]"
我试过像 {stub.minDelay.label} 或 ${stub.minDelay.label} 那样引用它,但我得到的只是来自 grails 的解析错误。
也许我以错误的方式处理这个问题,是否可以通过验证器中的数字参数注入标签?例如,如果错误消息是:
stub.maxDelay.custom.error=Property [{0}] must be bigger than value of [{1}]
【问题讨论】:
标签: grails syntax internationalization label