package com.qqchen.deploy.backend.framework.annotation.formily;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface FormilyValidator {
    /**
     * 是否必填
     */
    boolean required() default false;

    /**
     * 错误提示消息
     */
    String message() default "";

    /**
     * 触发类型
     */
    String triggerType() default "onChange";

    /**
     * 格式验证
     */
    String format() default "";

    /**
     * 是否验证空白字符
     */
    boolean whitespace() default false;

    /**
     * 最小值
     */
    double min() default Double.MIN_VALUE;

    /**
     * 最大值
     */
    double max() default Double.MAX_VALUE;

    /**
     * 最小长度
     */
    int minLength() default -1;

    /**
     * 最大长度
     */
    int maxLength() default -1;

    /**
     * 正则表达式
     */
    String pattern() default "";

    /**
     * 自定义验证器
     */
    String validator() default "";

    /**
     * 异步验证器
     */
    String asyncValidator() default "";
} 