javax.validator无法识别违规行为?
这是我自己的限制javax.validator无法识别违规行为?,java,validation,annotations,constraints,Java,Validation,Annotations,Constraints,这是我自己的限制 @Digits(fraction = 0, integer = 5, message = "ID should be up to {integer} digits") @Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE}) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = {}) @Documented
@Digits(fraction = 0, integer = 5, message = "ID should be up to {integer} digits")
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {})
@Documented
public @interface ValidId {
String message() default "Invalid ID";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
实施:
@Override
public void deleteClient(@ValidId Long id) throws ValidationException {
Set<ConstraintViolation<Long>> violations = this.validator.validate(id);
ValidationHandler.handleViolations(violations);
}
所以我传递的是无效值,比如4565465165,当验证完成时,我发现了cero违规。事实上,如果我在没有注释的情况下直接使用javax.validation.constraints.Digits进行验证,它也不起作用:
@Override
public void deleteClient(@Digits(fraction = 0, integer = 5) Long id) throws ValidationException {
Set<ConstraintViolation<Long>> violations = this.validator.validate(id);
ValidationHandler.handleViolations(violations);
}
那我就再也没有违规了。你知道我做错了什么吗