У меня есть следующий код для моего настраиваемого ограничения:
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
@Constraint(validatedBy = MinMaxValidator.class)
public @interface CheckMinMax{
String message() default "MinMax constraint has been violated";
Class<? extends Payload>[] payload() default {};
Class<?>[] groups() default {};
int min() default 1;
int max() default 10;
}
И класс Validator:
открытый класс MinMaxValidator реализует ConstraintValidator {
int max;
int min;
@Override
public void initialize(CheckMinMax annotation) {
max = annotation.max();
min = annotation.min();
}
@Override
public boolean isValid(Integer value, ConstraintValidatorContext arg1) {
if (value < min || value > max)
return false;
return true;
}
}
теперь, когда я аннотирую свой entitybean своей аннотацией и пытаюсь передать объект, который нарушает мое ограничение, следующим кодом:
validator.validate(obj);
работает, но сообщения об ошибке нет ... Здесь чего-то не хватает? Как мне сделать так, чтобы он выводил сообщение об ошибке по умолчанию «Ограничение MinMax было нарушено»?
Спасибо