package cn.lili.common.validation.impl; import cn.lili.common.validation.EnumValue; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; /** * 枚举之校验 * * @author Bulbasaur * @since 2021/7/9 1:41 上午 */ public class EnumValuesValidator implements ConstraintValidator { private String[] strValues; private int[] intValues; @Override public boolean isValid(Object o, ConstraintValidatorContext constraintValidatorContext) { if (o instanceof String) { for (String s : strValues) { if (s.equals(o)) { return true; } } } else if (o instanceof Integer) { for (int s : intValues) { if (s == ((Integer) o).intValue()) { return true; } } } return false; } @Override public void initialize(EnumValue constraintAnnotation) { strValues = constraintAnnotation.strValues(); intValues = constraintAnnotation.intValues(); } }