JSR-303 Добавить сообщение проверки по умолчанию - PullRequest
4 голосов
/ 13 мая 2011

Я использую реализацию JSR-303 Apache Bean Validation, и мне было любопытно, есть ли способ добавить сообщение к сообщению по умолчанию, определенному в файле ValidationMessages.propeties.

т.е. @NotNull(message="Object objectField name {message}")

Вывод: имя объекта objectField не может быть нулевым

Где сообщение просто добавит сообщение по умолчанию

Возможно ли это с помощью API-компонентов Apache Bean Validation 0.3 или Hibernate Validation 4.1.0-Final ???

Или я вынужден сделать что-то вроде этого:

ValidationMessage.properites
javax.validation.constraints.NotNull.message=may not be null

Код:

@NotNull(message="Object objectField name {javax.validation.constraints.NotNull.message}")

Что кажется очень многословным.

1 Ответ

2 голосов
/ 20 апреля 2012

Нет. Нет способа сделать это.

См. JSR-303, раздел 4.3.1.1 для получения дополнительной информации.

Вы можете сделать это:

ValidationMessage.properties

custom.message=Object objectField name {javax.validation.constraints.NotNull.message}

Код

@NotNull(message="{custom.message}")

И получи, что хочешь. Пользовательские свойства сообщения (согласно JSR) должны рекурсивно разрешаться. Я не знаю, насколько совместим Apache Validator в настоящее время, но я могу сказать вам, что Hibernate Validator (будучи на 100% совместимым с TCK) сделает это.

...