Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.validator无法识别违规行为?_Java_Validation_Annotations_Constraints - Fatal编程技术网

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);
}
那我就再也没有违规了。你知道我做错了什么吗