Вопрос

Я заметил, что все встроенные ограничения имеют пустое значение для validatedBy параметр в @Constraint. Анкет т.е. @Constraint(validatedBy = {})

Во -первых, почему им разрешено иметь пустое значение для validatedBy? Я думал, что вы можете оставить это пустым только для состава ограничений, которая не нуждается в дополнительной проверке?

Кроме того, обратите внимание, что валидатор Hibernate все еще может найти класс реализации валидатора для каждого встроенного ограничения, несмотря на validatedBy пуст, но если я оставлю проверенный бланк для моего ограничения, мой пользовательский валидатор никогда не забирается. Почему это?

Спасибо.

Это было полезно?

Решение

Эти встроенные обрабатываются специальным способом, специфичным для реализации, а их валидаторы настроены программно.

Для спящего валидатора это сделано в ConstraintHelper.java. Анкет Я думаю, что вы не можете достичь того же самого для своих пользовательских ограничений.

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top