Ошибки проверки Grails — разработчик и пользователь

Каков наилучший способ преобразовать ориентированный на разработчика список ошибок проверки, который вы получаете при вызове функции validate() для доменного объекта Grails, в сообщения об ошибках, ориентированные на пользователя?

Пример:
Свойство [email] класса [class testproj.AuthUser] со значением [x] не является действительным адресом электронной почты.

предпочел бы, чтобы он читался так:
Указанный адрес электронной почты не является действительным адресом электронной почты.

Есть ли что-нибудь встроенное, что уже делает это?


person BuddyJoe    schedule 08.06.2011    source источник


Ответы (2)


messages.properties файлы в grails-app/i18n

ознакомьтесь с этой документацией http://grails.org/doc/latest/guide/7.%20Validation.html

Чтобы получить все коды ошибок, см. здесь http://grails.org/doc/latest/ref/Constraints/email.html. Включите быструю навигацию справа. Внизу каждого ограничения находится ключ свойств, который вы используете для изменения сообщения об ошибке.

person hvgotcodes    schedule 08.06.2011
comment
Любые мысли о том, что попробовать, когда это не работает? Вам нужно что-то сделать, чтобы указать message.properties или тот факт, что вы хотите английский язык? Я получаю те же старые полные сообщения об ошибках. - person BuddyJoe; 09.06.2011
comment
Пример: testproj.SecureUser.email.email=Недействительный адрес электронной почты - person BuddyJoe; 09.06.2011

Также есть хороший плагин под названием:

grails install-plugin i18n-templates

которые можно найти здесь http://www.grails.org/plugin/i18n-templates

например у вас есть класс домена в org.example.User, и вы хотите указать сообщения локализации. Используйте следующую команду:

grails generate-i18n-messages org.example.User

Это создаст список возможных сообщений для вас в консоли. Скопируйте и вставьте этот вывод в свой messages.properties для английского языка и во все остальные message.properties для языка, для которого вы хотите иметь локализацию.

Затем вам просто нужно отредактировать эти файлы свойств, чтобы ваша страница была локализована. Eclipse/STS имеет приятный графический интерфейс, который делает локализацию этих файлов свойств еще быстрее.

Привет,

Ян

person Jan    schedule 08.06.2011