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<EnumValue, Object> {
|
|
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();
|
}
|
}
|