首页 > 解决方案 > 此数据类型不允许获取自定义约束 (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,问题就会消失(对于我的用例,我需要它为空。)

但是,我的问题是,对于一些自定义约束,即使验证为空,它也可以正常工作。

标签: javavalidationconstraintshibernate-validator

解决方案


推荐阅读