From 3cebe990c568d0ea5d42eb3a421e8352261b1f28 Mon Sep 17 00:00:00 2001 From: p2x9nfpei <2196435763@qq.com> Date: Tue, 29 Apr 2025 00:00:18 +0800 Subject: [PATCH] ADD file via upload --- ValidatorUtils.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ValidatorUtils.java diff --git a/ValidatorUtils.java b/ValidatorUtils.java new file mode 100644 index 0000000..347181b --- /dev/null +++ b/ValidatorUtils.java @@ -0,0 +1,39 @@ +package com.utils; + +// 导入必要的Java工具类 +import java.util.Set; +// 导入验证相关的类 +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; +// 导入自定义异常类 +import com.entity.EIException; + +// 数据校验工具类,基于hibernate-validator实现 +public class ValidatorUtils { + // 静态验证器实例 + private static Validator validator; + + // 静态初始化块,初始化验证器 + static { + // 获取默认的验证器工厂并创建验证器实例 + validator = Validation.buildDefaultValidatorFactory().getValidator(); + } + + // 校验对象方法 + // object: 需要校验的对象 + // groups: 可选的校验组 + // 抛出EIException当校验失败时 + public static void validateEntity(Object object, Class... groups) + throws EIException { + // 执行校验并获取校验结果集合 + Set> constraintViolations = validator.validate(object, groups); + // 检查是否有校验错误 + if (!constraintViolations.isEmpty()) { + // 获取第一个校验错误 + ConstraintViolation constraint = (ConstraintViolation)constraintViolations.iterator().next(); + // 抛出包含错误信息的异常 + throw new EIException(constraint.getMessage()); + } + } +} \ No newline at end of file