From f58d25dd8de5c7736a637f43224de2a0730f1540 Mon Sep 17 00:00:00 2001 From: Toint <599818663@qq.com> Date: Wed, 25 Sep 2024 02:02:24 +0800 Subject: [PATCH] =?UTF-8?q?ValidationUtil.validateAndThrowFirst=20?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF=E6=B7=BB=E5=8A=A0=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/hutool/extra/validation/ValidationUtil.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/validation/ValidationUtil.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/validation/ValidationUtil.java index 757477a56..574a2d5a6 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/validation/ValidationUtil.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/validation/ValidationUtil.java @@ -19,6 +19,7 @@ package org.dromara.hutool.extra.validation; import org.dromara.hutool.core.collection.CollUtil; import jakarta.validation.*; +import org.dromara.hutool.core.text.StrUtil; import java.util.Set; @@ -74,11 +75,15 @@ public class ValidationUtil { * @throws ValidationException 校验不通过,则报 ValidationException 异常,调用者进行捕获,直接响应给前端用户 */ public static void validateAndThrowFirst(final Object object, final Class... groups) - throws ValidationException { + throws ValidationException { final Set> constraintViolations = validate(object, groups); if (CollUtil.isNotEmpty(constraintViolations)) { final ConstraintViolation constraint = constraintViolations.iterator().next(); - throw new ValidationException(constraint.getMessage()); + if (StrUtil.contains(constraint.getMessageTemplate(), "jakarta.validation.constraints")) { + throw new ValidationException(constraint.getPropertyPath() + constraint.getMessage()); + } else { + throw new ValidationException(constraint.getMessage()); + } } }