update 枚举验证注解EnumPattern支持更多数据类型验证

原先只支持String,现在也支持Integer、Long等常用枚举value
This commit is contained in:
cxh 2026-08-31 16:02:28 +08:00
parent 79bd1db16f
commit 2305e1d89e

View File

@ -14,7 +14,7 @@ import java.util.Set;
* @author 秋辞未寒
* @date 2024-12-09
*/
public class EnumPatternValidator implements ConstraintValidator<EnumPattern, String> {
public class EnumPatternValidator implements ConstraintValidator<EnumPattern, Object> {
/**
* 枚举允许值集合
@ -42,18 +42,22 @@ public class EnumPatternValidator implements ConstraintValidator<EnumPattern, St
}
/**
* 校验字符串是否在枚举允许值集合内
* 校验输入值是否在枚举允许值集合内
*
* @param value 待校验值
* @param constraintValidatorContext 校验上下文
* @return true 校验通过 false 校验失败
*/
@Override
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
if (StringUtils.isBlank(value)) {
public boolean isValid(Object value, ConstraintValidatorContext constraintValidatorContext) {
if (value == null) {
return true;
}
return values.contains(value);
String text = String.valueOf(value);
if (StringUtils.isBlank(text)) {
return true;
}
return values.contains(text);
}
}