我的自定义约束有以下代码:
@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;
}
和验证器类:
公共类 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 约束已被违反”?
谢谢