1 概述
javax.validation包与hibernate-validator包中注解能满足大部分需求,但是还是有必要熟悉下自定义数据验证注解,如日期格式验证。
2 添加依赖
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
1.16.20
provided
3 自定义注解
定义一个@DateTime注解
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = DateTimeValidator.class)
public @interface DateTime {
String message() default "格式错误";
String format() default "yyyyMM";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
}
@Constraint,指定校验类
message,失败提示信息
groups,分组验证(后面介绍)
payload,不知道,欢迎留言探讨
4 实现具体验证类
public class DateTimeValidator im