使用@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 类 其中 DateRangeCheck 是注解类 DateRangeVO 是校验对象