All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.aifaq.commons.lang.validation.constraints.BeanValidation Maven / Gradle / Ivy

There is a newer version: 2.0.3
Show newest version
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[] 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