Теперь я работаю над своим приложением spring + hibernate.
Я хочу наложить валидатор из @Min
аннотацию и написал следующий код:Как расширить встроенный валидатор спящего режима ConstraintValidator
@Component
public class CustomMinValidator extends MinValidatorForNumber {
public void initialize() {
Min min = new Min() {
@Override
public String message() {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public Class<?>[] groups() {
return new Class<?>[0];
}
@Override
public Class<? extends Payload>[] payload() {
return null;
}
@Override
public long value() {
return 150;
}
@Override
public Class<? extends Annotation> annotationType() {
return null;
}
};
super.initialize(min);
}
}
Но в отладке я вижу, что CustomMinValidator#initialize
никогда не вызывает, но MinValidatorForNumber#initialize
вызывает.
Как правильно наложить стандартный валидатор?
Я не понимаю, какое имя файла xml и куда его поместить. – gstackoverflow
Вам нужно 'validation.xml' (основной файл конфигурации для настройки/настройки) Проверка Bean). В 'validation.xml' вы добавляете узел сопоставления ограничений -' <ограничение-сопоставление> META-INF/validation/my-constraints-mapping.xml constraint-mapping> ', указывающий на файл xml, придерживающийся сопоставления ограничений схемы. См. Также http://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html_single/#section-mapping-xml-constraints. Отметим также, что не рекомендуется расширять внутренние классы Hibernate Validator. Они могут изменять без уведомлений. Возможно, вам лучше копировать имп. – Hardy