Использование jQuery для придания ошибкам ограничения Grails красивого вида (но не на стороне клиента) - PullRequest
1 голос
/ 13 сентября 2011

На сервере Grails обеспечивает проверку ограничений полей, которые будут сохранены в объекте / базе данных домена, а затем предоставляет тег <g:renderErrors> для отображения любых ошибок полей на странице html / form, обычно отображаемой в верхней части страница.

Какой самый простой способ принять эти ошибки на стороне сервера и вместо этого отобразить их рядом с каждым полем в красном выноске ошибки? То есть Что такое простая (jQuery) библиотека, которая просто помещает выноску ошибки рядом с данным полем, не проводя проверку в клиенте?

(Grails 1.3.7, планируется обновить до 2.0 позже) - отредактировано

1 Ответ

3 голосов
/ 13 сентября 2011

Тег hasErrors (bean: bean, field: field,) в groovy taglib поможет вам в этом. Как сказал Серхио, вы можете вызвать его на своем GSP и использовать его для добавления стилей CSS к вашим входам (или контейнерам ввода). Вот пример для представления, которому передана модель "person", в котором есть поле с именем "name", и я хочу применить класс css 'errors':

<td class="${hasErrors(bean: person, field: 'name', 'errors')} text">

Что касается интеллектуальных, удобных для пользователя сообщений о том, «почему» поле недопустимо, вы можете добавить код свойства i18n в свой валидатор домена, соответствующий текст в папке i18n, и я полагаю, что использовать что-то для эффекта renderError, чтобы распечатайте это сообщение (оно должно быть прикреплено к ошибке). Затем вы можете найти ошибку по имени поля и вставить это сообщение в представление. Не уверен на 100%, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...