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