package cn.superdesk.uniorder.common.excel.validate.annotion;

import cn.superdesk.uniorder.common.excel.validate.constraint.RelationTableSysEnterpriseExtInvoiceFieldTaxpayersIDCodeValidator;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/8/26 下午6:21
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/8/26 下午6:21
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Target({TYPE, ANNOTATION_TYPE, FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {RelationTableSysEnterpriseExtInvoiceFieldTaxpayersIDCodeValidator.class})
public @interface RelationTableSysEnterpriseExtInvoiceFieldTaxpayersIDCode {

	/**
	 * 是否强制校验(是否必须)
	 *
	 * @return 是否强制校验的boolean值
	 */
	boolean required() default true;

	/**
	 * 校验不通过时的报错信息
	 *
	 * @return 校验不通过时的报错信息
	 */
	String message() default "";

	/**
	 * 将 validator 进行分组,不同 group 中会执行不同的 validator 操作
	 *
	 * @return validator的分类类型
	 */
	Class<?>[] groups() default {};

	/**
	 * 主要是针对bean,很少使用
	 *
	 * @return 负载
	 */
	Class<? extends Payload>[] payload() default {};
}
