Validation API: русификация сообщений об ошибках

Автор PremaServices - Воскресенье, 16 Июнь 2013. В рубриках: Validation API, Hibernate

ПРОВЕРКА ДАННЫХ В SPRING + HIBERNATE

По умолчанию в Hibernate Validation API на английском языке прописаны тексты сообщений для всех стандартных проверок, например таких как @NotBlank и @NotNull. Но, конечно, нам необходимо русифицировать эти сообщения, чтобы в браузере они выводились на красивом языке, понятном пользователю.

Сделать это очень просто. Необходимо создать собственный файл под названием ValidationMessages.properties и положить его в classpath нашего проекта. В этом случае тексты сообщений будут сначала искаться в нашем файле, а уж потом в файле по умолчанию.

1. Создавайте файл в кодировке, которую вы используете на сайте. Обычно это UTF-8. И можно прописать туда сообщения об ошибках только для тех проверок, которые вы реально используете в проекте.

Например, мы используем две аннотации: @NotNull - чтобы проверить, что объект существует, и @NotBlank - проверяем строковые объекты на то, что они существуют и при этом не являются пустой строкой.

В нашем файле ValidationMessages.properties это будет выглядеть так:

javax.validation.constraints.NotNull.message=Поле обязательно для заполнения
org.hibernate.validator.constraints.NotBlank.message=Поле не должно быть пустым
org.hibernate.validator.constraints.Email.message=Неверный email адрес

Заметьте, что идентификатор записи состоит из полного наименования класса и суффикса "message".

2. Аналогичным образом в этот файл мы можем дописать и сообщения для собственных custom проверок. Например, в моей системе учета студентов необходимо, чтобы при оплате обучения было обязательно указано за что произошла оплата: за сессию, очередной курс обучения или же за дополнительный мастер-класс. Для этой проверки я ввожу новую аннотацию ru.premaservices.astroved.student.pojo.PaymentConstraint. Соответственно, я должна прописать в файле ValidationMessages.properties строку:

ru.premaservices.astroved.student.pojo.PaymentConstraint.message=Нужно указать номер курса, или сессию, или мастер-класс

 

  • 0.0/5 оценка (0 голосов)
  • Тэги: Validation API, проверка данных, русификация

Об авторе

Комментарии (0)

Оставить комментарий

Вы комментируете как Гость.