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

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

在我的项目中,我正在尝试将hibernate validator升级到6.0.22.final。
我的约束类-

  1. @Target({ElementType.FIELD})
  2. @Retention(RetentionPolicy.RUNTIME)
  3. @Constraint(validatedBy = { })
  4. public @interface CustomConstraint {
  5. String message() default "invalid";
  6. Class<?>[] groups() default {};
  7. Class<? extends Payload>[] payload() default {};
  8. }

我的约束验证器-

  1. public class CustomConstraintValidator implements ConstraintValidator<CustomConstraint, Integer> {
  2. @Override
  3. public void initialize(CustomConstraint customConstraint) {
  4. }
  5. @Override
  6. public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) {
  7. return value == null || value >= 0;
  8. }
  9. }

我不断得到- The annotation @CustomConstraint is disallowed for this data type 跑步时 mvn clean install 现在,只要我在validatedby中添加customconstraintvalidator,问题就消失了(对于我的用例,我需要它为空)
但是,我的问题是,对于一些自定义约束,即使使用空的validatedby,它也可以正常工作。

暂无答案!

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

相关问题