此数据类型不允许获取自定义约束(hibernate validator 6.0.22.final)

2lpgd968  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(498)

在我的项目中,我正在尝试将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 现在,只要我在validatedby中添加customconstraintvalidator,问题就消失了(对于我的用例,我需要它为空)
但是,我的问题是,对于一些自定义约束,即使使用空的validatedby,它也可以正常工作。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题