diff --git a/backend/services/case-management/src/main/java/io/metersphere/functional/excel/listener/FunctionalCaseCheckEventListener.java b/backend/services/case-management/src/main/java/io/metersphere/functional/excel/listener/FunctionalCaseCheckEventListener.java index 2f61d3aee5..7ac2640ce8 100644 --- a/backend/services/case-management/src/main/java/io/metersphere/functional/excel/listener/FunctionalCaseCheckEventListener.java +++ b/backend/services/case-management/src/main/java/io/metersphere/functional/excel/listener/FunctionalCaseCheckEventListener.java @@ -18,7 +18,7 @@ import io.metersphere.sdk.util.CommonBeanFactory; import io.metersphere.sdk.util.JSON; import io.metersphere.sdk.util.LogUtils; import io.metersphere.sdk.util.Translator; -import io.metersphere.system.dto.excel.ExcelValidateHelper; +import io.metersphere.system.dto.excel.FunctionalCaseExcelValidateHelper; import io.metersphere.system.dto.sdk.TemplateCustomFieldDTO; import io.metersphere.system.excel.domain.ExcelErrData; import org.apache.commons.collections.CollectionUtils; @@ -171,7 +171,7 @@ public class FunctionalCaseCheckEventListener extends AnalysisEventListener String validateEntity(T obj) throws NoSuchFieldException { + StringBuilder result = new StringBuilder(); + Set> set = excelValidateHelper.validator.validate(obj, Default.class); + if (set != null && !set.isEmpty()) { + for (ConstraintViolation cv : set) { + result.append(cv.getMessage()).append("; "); + } + } + return result.toString(); + } + + /** + * 在静态方法中调用 + */ + @PostConstruct + public void initialize() { + excelValidateHelper = this; + excelValidateHelper.validator = this.validator; + } +} diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/utils/UserImportEventListener.java b/backend/services/system-setting/src/main/java/io/metersphere/system/utils/UserImportEventListener.java index c0cf8aed6a..8cf7216e7c 100644 --- a/backend/services/system-setting/src/main/java/io/metersphere/system/utils/UserImportEventListener.java +++ b/backend/services/system-setting/src/main/java/io/metersphere/system/utils/UserImportEventListener.java @@ -2,13 +2,13 @@ package io.metersphere.system.utils; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; -import io.metersphere.system.dto.sdk.ExcelParseDTO; import io.metersphere.sdk.util.BeanUtils; import io.metersphere.sdk.util.LogUtils; import io.metersphere.sdk.util.Translator; -import io.metersphere.system.dto.excel.ExcelValidateHelper; import io.metersphere.system.dto.excel.UserExcel; import io.metersphere.system.dto.excel.UserExcelRowDTO; +import io.metersphere.system.dto.excel.UserExcelValidateHelper; +import io.metersphere.system.dto.sdk.ExcelParseDTO; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -25,7 +25,7 @@ public class UserImportEventListener extends AnalysisEventListener { Integer rowIndex = analysisContext.readRowHolder().getRowIndex(); try { //使用javax.validation校验excel数据 - errMsg = ExcelValidateHelper.validateEntity(data); + errMsg = UserExcelValidateHelper.validateEntity(data); if (StringUtils.isEmpty(errMsg)) { errMsg = businessValidate(data); }