From 9503c1ebb3fbb68fb8259bea87097d010846e2d5 Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期三, 18 六月 2025 08:59:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev-test' into feature/ai --- iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/validation/InEnumCollectionValidator.java | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/validation/InEnumCollectionValidator.java b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/validation/InEnumCollectionValidator.java index ce162b2..542eb3b 100644 --- a/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/validation/InEnumCollectionValidator.java +++ b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/validation/InEnumCollectionValidator.java @@ -1,7 +1,7 @@ package com.iailab.framework.common.validation; import cn.hutool.core.collection.CollUtil; -import com.iailab.framework.common.core.IntArrayValuable; +import com.iailab.framework.common.core.ArrayValuable; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; @@ -9,29 +9,32 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; -public class InEnumCollectionValidator implements ConstraintValidator<InEnum, Collection<Integer>> { - private List<Integer> values; +public class InEnumCollectionValidator implements ConstraintValidator<InEnum, Collection<?>> { + + private List<?> values; @Override public void initialize(InEnum annotation) { - IntArrayValuable[] values = annotation.value().getEnumConstants(); + ArrayValuable<?>[] values = annotation.value().getEnumConstants(); if (values.length == 0) { this.values = Collections.emptyList(); } else { - this.values = Arrays.stream(values[0].array()).boxed().collect(Collectors.toList()); + this.values = Arrays.asList(values[0].array()); } } @Override - public boolean isValid(Collection<Integer> list, ConstraintValidatorContext context) { + public boolean isValid(Collection<?> list, ConstraintValidatorContext context) { + if (list == null) { + return true; + } // 校验通过 if (CollUtil.containsAll(values, list)) { return true; } - // 校验不通过,自定义提示语句(因为,注解上的 value 是枚举类,无法获得枚举类的实际值) + // 校验不通过,自定义提示语句 context.disableDefaultConstraintViolation(); // 禁用默认的 message 的值 context.buildConstraintViolationWithTemplate(context.getDefaultConstraintMessageTemplate() .replaceAll("\\{value}", CollUtil.join(list, ","))).addConstraintViolation(); // 重新添加错误提示语句 @@ -40,3 +43,4 @@ } + -- Gitblit v1.9.3