From 4f574756970c32dc97b82784c461ecfc1d5c42b3 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Thu, 27 Jul 2023 21:28:37 +0800 Subject: [PATCH] Polish ValidationMessageBuilder --- .../support/ValidationMessageBuilder.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java b/commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java index ff34054..86c6e93 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java @@ -1,6 +1,7 @@ package com.schbrain.common.util.support; -import org.hibernate.validator.internal.engine.path.PathImpl; +import cn.hutool.core.text.StrPool; +import org.apache.commons.lang3.StringUtils; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; @@ -36,10 +37,20 @@ public class ValidationMessageBuilder { String prefix = "参数验证失败: "; StringJoiner joiner = new StringJoiner(", "); for (ConstraintViolation violation : constraintViolations) { - PathImpl propertyPath = (PathImpl) violation.getPropertyPath(); - joiner.add(propertyPath.asString() + " " + violation.getMessage()); + String propertyPath = violation.getPropertyPath().toString(); + joiner.add(getActualProperty(propertyPath) + " " + violation.getMessage()); } return prefix + joiner; } -} \ No newline at end of file + private static String getActualProperty(String propertyPath) { + if (StringUtils.isBlank(propertyPath)) { + return propertyPath; + } + if (!propertyPath.contains(StrPool.DOT)) { + return propertyPath; + } + return propertyPath.substring(propertyPath.lastIndexOf(StrPool.DOT) + 1); + } + +} -- GitLab