package com.kxs.common.core.valid;

import com.kxs.common.core.valid.impl.NormMonthValidator;
import com.kxs.common.core.valid.impl.PhoneValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.*;

/**
 * 时间格式校验标准月份yyyy-MM
 * @author Pota1ovO
 */
@Target({ElementType.FIELD,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = {NormMonthValidator.class})// 指定约束处理器，也就是时间格式验证是哪个类来做校验
public @interface NormMonth {

    String pattern() default "^\\d{4}(0[1-9]|1[0-2])$";

    String message() default "时间格式错误yyyyMM";

    Class<?>[] groups() default { }; // groups用来指定分组，可以让校验采取不同的机制，当前默认未指定任何分组机制，默认每次都要进行校验

    Class<? extends Payload>[] payload() default { };


}