From edfe694d5455149db32bc8ee36ed38e12f8a3a61 Mon Sep 17 00:00:00 2001 From: dazer007 Date: Mon, 5 Dec 2022 15:18:14 +0000 Subject: [PATCH] =?UTF-8?q?!887=20v6-dev-add-validateThrowException=20*=20?= =?UTF-8?q?Merge=20remote-tracking=20branch=20'origin/v6-dev'=20into=20v6-?= =?UTF-8?q?dev-add-validateT=E2=80=A6=20*=20ValidationUtil:=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20validateThrowException=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extra/validation/ValidationUtil.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/hutool-extra/src/main/java/cn/hutool/extra/validation/ValidationUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/validation/ValidationUtil.java index 7c8fa8857..5dd2c95fb 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/validation/ValidationUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/validation/ValidationUtil.java @@ -2,10 +2,7 @@ package cn.hutool.extra.validation; import cn.hutool.extra.validation.BeanValidationResult.ErrorMessage; -import jakarta.validation.ConstraintViolation; -import jakarta.validation.Validation; -import jakarta.validation.Validator; -import jakarta.validation.ValidatorFactory; +import jakarta.validation.*; import java.util.Set; @@ -52,6 +49,22 @@ public class ValidationUtil { return validator.validate(bean, groups); } + /** + * 校验对象,校验不通过,直接抛出给调用者 + * 说明:如果Bean对象内部有非基本类型对象,需要把内部对象取出,进行手动多次调用,本方法 + * @param object 待校验对象 + * @param groups 待校验的组 + * @throws ValidationException 校验不通过,则报 ValidationException 异常,调用者进行捕获,直接响应给前端用户 + */ + public static void validateThrowException(Object object, Class... groups) + throws ValidationException { + Set> constraintViolations = validator.validate(object, groups); + if (!constraintViolations.isEmpty()) { + ConstraintViolation constraint = constraintViolations.iterator().next(); + throw new ValidationException(constraint.getMessage()); + } + } + /** * 校验bean的某一个属性 *