В настоящее время я пытаюсь указать пользовательские сообщения об ошибках в граалях для ограничений по умолчанию, но пока все, что я получаю, это сообщение об ошибке по умолчанию.
Я знаю, что мне нужно отредактировать файл 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 templates
http://www.grails.org/I18n+Templates+Plugin
, который автоматически сгенерировал коды ошибок для меня. Я добавил новые коды ошибок в конец существующего файла messages.properties, но все равно получаю сообщения об ошибках по умолчанию.
Однако с кодами ошибок, сгенерированных плагином, было что-то другое.
вместо формата, указанного в документе grails - test.name.null = ......, автоматически генерируется test.name.null.error = пользовательское сообщение
Я также попытался полностью удалить сообщения об ошибках по умолчанию, но они по-прежнему отображаются
Если кто-то сталкивался с этой проблемой раньше, я был бы признателен за любую помощь, которую кто-нибудь может мне помочь
Заранее спасибо