通过实现ConstraintValidator完成自定义校验注解(使用@Validated 或者@Valid 开启校验)

使用@Validated 或者@Valid 开启校验

实体类定义如下:

@AllArgsConstructor

@NoArgsConstructor

@Data

public class TaskCountStatisticsQueryVO {

private StringprocessorName;

    @DateRangeCheck(message ="时间不合法")

    private DateRangeVOfinishTime;

}

自定义注解 DateRangeCheck

@Documented

@Retention(RetentionPolicy.RUNTIME)

@Target({ElementType.FIELD, ElementType.METHOD})

@Constraint(

validatedBy = {DateRangeValidator.class}

)

public @interface DateRangeCheck {

String message()default "时间范围校验失败";

    Class[] groups()default {};

    Class[] payload()default {};

}

其中

@Constraint(

validatedBy = {DateRangeValidator.class}

)

DateRangeValidator 是校验方法

通过实现ConstraintValidator完成自定义校验注解(使用@Validated 或者@Valid 开启校验)_第1张图片

需要实现 ConstraintValidator 类 其中  DateRangeCheck 是注解类 DateRangeVO 是校验对象

你可能感兴趣的:(通过实现ConstraintValidator完成自定义校验注解(使用@Validated 或者@Valid 开启校验))