Как добавить собственный 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

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