首先,我们先看一下valid自带的长度校验Length的源码,我将下面源码的注解作出一定的解释
// 指示注解应该记录在生成的Javadoc中,确保自定义注解在生成的文档中可见,便于了解其功能和用途
@Documented
// 指定用于验证该注解的验证器类,之后我们把自定义的校验器类名写在这里即可
@Constraint(
validatedBy = {}
)
// 指定注解可以应用的Java元素类型
@Target({, , ElementType.ANNOTATION_TYPE, , , ElementType.TYPE_USE})
// 指定注解的保留策略,此处为“运行时保留”,还有“编译时保留”和“只在源码中存在”
@Retention()
使注解可以在同一个元素上多次应用
@Repeatable()
public @interface Length {
int min() default 0;
int max() default Integer.MAX_VALUE;
String message() default "{}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
@Target({, , ElementType.ANNOTATION_TYPE, , Ele