Можно ли включить значения свойств i18n в другие интернационализированные сообщения в grails?
У меня есть класс домена, содержащий 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}]