package com.cf.imes.module.system.validation.label;

import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.system.enums.label.LabelTemplateType;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

/**
 * 标签模版类型校验器
 *
 * @author Gqr
 * @since 2024/10/15 10:43
 */
public class LabelTemplateTypeValidator implements ConstraintValidator<LabelTemplateTypeValid, String> {

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        // 非空使用@NotBlank等进行校验
        if (CharSequenceUtil.isEmpty(value)) {
            return true;
        }
        for (LabelTemplateType type : LabelTemplateType.values()) {
            if (ObjectUtil.equal(type.getType(), value)) {
                return true;
            }
        }
        return false;
    }
}
