Некоторое время назад, я написал в своём твиттере, что в JSR-303 нельзя задать два @Pattern-а с различными сообщениями на один элемент. Я был не прав и в этом посте приведу пример того как это сделать.
Если посмотреть на список аннотаций в JSR-303 и Hibernate Validator, то мы увидим, что каждая из аннотаций имеет и вторую очень похожу форму с суффиксом List. Например, есть Pattern и Pattern.List, Size и Size.List. Благодаря им можно для одного элемента указать несколько одинаковых ограничений:
Не совсем относящееся к посту, но не менее важная часть это локализованные сообщения, которые извлекаются по соответствующему ключу из файла ValidationMessages.properties:
Обратите внимание, что: а) файл этот должен находиться в корне classpath-а б) Messages с буковкой s на конце, т.е. во множественном числе.
В ваше сообщение, вместо {min} и {max} подставятся соответствующие значения параметров из аннотации.
Если посмотреть на список аннотаций в JSR-303 и Hibernate Validator, то мы увидим, что каждая из аннотаций имеет и вторую очень похожу форму с суффиксом List. Например, есть Pattern и Pattern.List, Size и Size.List. Благодаря им можно для одного элемента указать несколько одинаковых ограничений:
Не совсем относящееся к посту, но не менее важная часть это локализованные сообщения, которые извлекаются по соответствующему ключу из файла ValidationMessages.properties:
Обратите внимание, что: а) файл этот должен находиться в корне classpath-а б) Messages с буковкой s на конце, т.е. во множественном числе.
В ваше сообщение, вместо {min} и {max} подставятся соответствующие значения параметров из аннотации.
Комментариев нет:
Отправить комментарий