Проверка предопределенного строкового значения Hibernate Validator

Я пытаюсь проверить свои данные формы с помощью Hibernate Validator в моем приложении Spring MVC. У меня есть требование, когда мне нужно проверить ввод пользователя на предопределенные значения, которые не будут разрешены в системе.

например, если значением поля firstName является firstName, я хочу не пройти проверку и сообщить пользователю, что это значение не разрешено.

Может ли кто-нибудь сказать мне, как этого можно достичь с помощью проверки гибернации?


person Umesh Awasthi    schedule 04.06.2012    source источник


Ответы (2)


Вы можете создать собственный валидатор, реализующий ConstraintValidator. Прочтите эту ссылку: валидатор Hibernate

person UVM    schedule 04.06.2012

Вы также можете использовать аннотацию @Pattern поверх объявления поля. С помощью этой аннотации вам нужно указать шаблон регулярного выражения java, который будет соответствовать значению, введенному пользователем, и в случае сбоя вы можете показать пользователю правильное сообщение проверки в jsp.

Надеюсь, это поможет вам. Ваше здоровье.

person Japan Trivedi    schedule 04.06.2012
comment
Спасибо, но @Pattern не может работать с целым числом, например. @Pattern(regexp="^[79]$") private int location; в этом случае будет выдано исключение javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.Pattern' validating type 'java.lang.Integer'. Check configuration for 'location' - person zhuguowei; 10.01.2016
comment
и если вы хотите узнать, как поддерживать целое число, см. stackoverflow.com/questions/26772748/ - person zhuguowei; 10.01.2016