Как добавить собственный MessageValidationInterpolator с пользовательскими файлами?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как добавить собственный MessageValidationInterpolator с пользовательскими файлами?

Сообщение Anonymous »

Я пытаюсь добавить собственное сообщение проверки каждый раз, когда ограничение Джакарты недействительно. Поскольку клиент требует, чтобы это сообщение было на разных языках, очень важно определить язык перед возвратом сообщения. В настоящее время у меня есть класс, который имеет эту информацию (язык, на котором необходимо сообщение).
Для этого существуют файлы с сообщениями в виде пары ключей.

Код: Выделить всё

validation.error.idNullError=The Id cant be null
Имена файлов — messages (для английского), messages.pt (для португальского) и т. д.
Думая о решении, Я наткнулся на документацию по интерполяции сообщений.
Поскольку я использую теги проверки для своих проверок. В таком классе:

Код: Выделить всё

foo class{
@NotNull(message = "The id cant be null")
private Integer Id;
}
Объявление валидатора следующим образом:

Код: Выделить всё

public static final Validator VALIDATOR = Validation.byProvider(HibernateValidator.class)
.configure()
.failFast(true)
.buildValidatorFactory()
.getValidator();
И проверка выполняется следующим образом:

Код: Выделить всё

ValidationResult.of(VALIDATOR.validate(fooClassInstance))
Я столкнулся с двумя проблемами:
  • Мне не удалось найти документацию о том, как добавить эти файлы (Сообщение файлы на разных языках).
  • Как добавить сообщение в тег, так как я хочу, чтобы оно выглядело примерно так:

Код: Выделить всё

@NotNull(message = "{validation.error.idNullError}")
Имейте в виду, что я не могу переименовывать файлы, поскольку они используются в некоторых других частях проекта, а в документации упоминаются только файлы *.properties
Я пытался добавить интерполятор сообщений, но не смог найти никакой документации, которая могла бы удовлетворить мои потребности.
Есть ли способ использовать его так, как я пытаюсь его использовать? ?
PDTA: я знаю, что могу добавить MessageInterpolator в валидатор и передать язык в конструктор, но я не знаю, как получить доступ к файлам для создания пакет для интеполятора.

Подробнее здесь: https://stackoverflow.com/questions/784 ... stom-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»