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 ff340544c188dabad56980ffa7d7e64de9cb2090..86c6e93c8d72d86bd693a1d8ab4b4f5f12f32288 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); + } + +}