Prechádzať zdrojové kódy

增加参数效验工具

lihong 2 rokov pred
rodič
commit
8285c1741a

+ 41 - 0
src/main/java/cn/hnthyy/thmz/common/validate/ValidatorUtils.java

@@ -0,0 +1,41 @@
+package cn.hnthyy.thmz.common.validate;
+
+import cn.hnthyy.thmz.common.exception.BizException;
+
+import javax.validation.ConstraintViolation;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import java.util.Set;
+
+/**
+ * @Description:
+ * @Author:lihong
+ * @Date: 2023/8/15
+ */
+public class ValidatorUtils {
+    private static Validator validator;
+
+    static {
+        validator = Validation.buildDefaultValidatorFactory().getValidator();
+    }
+
+    /**
+     * 校验对象
+     * @param object        待校验对象
+     * @param groups        待校验的组
+     * @throws BizException  校验不通过,则报BizException异常
+     */
+    public static void validateEntity(Object object, Class<?>... groups)
+            throws BizException {
+        Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
+        if (!constraintViolations.isEmpty()) {
+            StringBuilder msg = new StringBuilder();
+            int index = 1;
+            for (ConstraintViolation<Object> constraint : constraintViolations) {
+                msg.append(index+"、").append(constraint.getMessage()).append("<br>");
+                index++;
+            }
+            throw new BizException(msg.toString(),-1);
+        }
+    }
+}

+ 8 - 0
src/main/java/cn/hnthyy/thmz/common/validate/group/AddGroup.java

@@ -0,0 +1,8 @@
+
+package cn.hnthyy.thmz.common.validate.group;
+
+/**
+ * 新增数据 Group
+ */
+public interface AddGroup {
+}

+ 12 - 0
src/main/java/cn/hnthyy/thmz/common/validate/group/Group.java

@@ -0,0 +1,12 @@
+
+package cn.hnthyy.thmz.common.validate.group;
+
+import javax.validation.GroupSequence;
+
+/**
+ * 定义校验顺序,如果AddGroup组失败,则UpdateGroup组不会再校验
+ */
+@GroupSequence({AddGroup.class, UpdateGroup.class})
+public interface Group {
+
+}

+ 9 - 0
src/main/java/cn/hnthyy/thmz/common/validate/group/UpdateGroup.java

@@ -0,0 +1,9 @@
+
+package cn.hnthyy.thmz.common.validate.group;
+
+/**
+ * 更新数据 Group
+ */
+public interface UpdateGroup {
+
+}