
me.aifaq.commons.lang.validation.constraints.BeanValidation Maven / Gradle / Ivy
package me.aifaq.commons.lang.validation.constraints;
import me.aifaq.commons.lang.validation.constraintvalidators.BeanValidationValidator;
import me.aifaq.commons.lang.validation.validator.ConstraintValidatorAdapter;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* 通用注解,自定义校验逻辑
*
* @author Wang Wei [[email protected]]
* @since 13:29 2017/8/11
*/
@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { BeanValidationValidator.class })
public @interface BeanValidation {
/**
* 自定义校验逻辑实现类,必须是 {@link ConstraintValidatorAdapter} 的子类
*/
Class> value();
String message() default "{me.aifaq.validation.constraints.Depend.message}";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
/**
* Defines several {@link BeanValidation} annotations on the same element.
*
* @see BeanValidation
*/
@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Documented
@interface List {
BeanValidation[] value();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy