package com.artfess.base.valid; import org.springframework.messaging.handler.annotation.Payload; import javax.validation.Constraint; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented /** * 指定注解运用的地方: * ElementType.ANNOTATION_TYPE 可以给一个注解进行注解 * ElementType.CONSTRUCTOR 可以给构造方法进行注解 * ElementType.FIELD 可以给属性进行注解 * ElementType.LOCAL_VARIABLE 可以给局部变量进行注解 * ElementType.METHOD 可以给方法进行注解 * ElementType.PACKAGE 可以给一个包进行注解 * ElementType.PARAMETER 可以给一个方法内的参数进行注解 * ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举 **/ // 警告:实体类必须继承Model,且需要标明表名,校验字段需加上 @TableField @Target({ElementType.TYPE}) @Constraint(validatedBy = FieldRepeatClass.class) @Retention(RetentionPolicy.RUNTIME) public @interface FieldRepeat { /** * 需要校验的字段 * @return */ String [] fields() default {}; String message() default "你所输入的内容已存在"; Class[] groups() default {}; Class[] payload() default {}; }