java - 此数据类型不允许获取自定义约束 (Hibernate-validator 6.0.22.Final)
问题描述
我正在尝试在我的项目中将 hibernate-validator 升级到 6.0.22.Final。
我的约束类 -
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { })
public @interface CustomConstraint {
String message() default "invalid";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
我的约束验证器 -
public class CustomConstraintValidator implements ConstraintValidator<CustomConstraint, Integer> {
@Override
public void initialize(CustomConstraint customConstraint) {
}
@Override
public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) {
return value == null || value >= 0;
}
}
我一直The annotation @CustomConstraint is disallowed for this data type
在跑步mvn clean install
现在,只要我在 validBy 中添加 CustomConstraintValidator,问题就会消失(对于我的用例,我需要它为空。)
但是,我的问题是,对于一些自定义约束,即使验证为空,它也可以正常工作。