From 230d1b78cbf345d017888b30470105ea01d49d6d Mon Sep 17 00:00:00 2001 From: Matthias Vill Date: Sun, 8 Jul 2018 19:42:11 +0200 Subject: [PATCH 1/2] Fix #175: Cannot call #fields.detailedErrors() from a Spring Webflow form In spring-webflow 2.3.1's org.springframework.webflow.mvc.view.BindingModel.getFieldErrors(java.lang.String) "*" leads to the error that a non-empty prefix is expected; calling the parameter-less version works as expected. --- .../main/java/org/thymeleaf/spring5/util/FieldUtils.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/thymeleaf-spring5/src/main/java/org/thymeleaf/spring5/util/FieldUtils.java b/thymeleaf-spring5/src/main/java/org/thymeleaf/spring5/util/FieldUtils.java index 16d9cacf..65303da8 100755 --- a/thymeleaf-spring5/src/main/java/org/thymeleaf/spring5/util/FieldUtils.java +++ b/thymeleaf-spring5/src/main/java/org/thymeleaf/spring5/util/FieldUtils.java @@ -163,7 +163,12 @@ private static List computeDetailedErrors( } if (bindExpression != null) { - final List fieldErrors = errors.getFieldErrors(bindStatus.getExpression()); + final List fieldErrors; + if (ALL_EXPRESSION.equals(bindExpression) || ALL_FIELDS.equals(bindExpression)) { + fieldErrors = errors.getFieldErrors(); + } else { + fieldErrors = errors.getFieldErrors(bindExpression); + } for (final FieldError fieldError : fieldErrors) { final String message = requestContext.getMessage(fieldError, false); final DetailedError errorObject = From 01687ec18db65c3c11009badbff9fb6111178c15 Mon Sep 17 00:00:00 2001 From: Matthias Vill Date: Mon, 9 Jul 2018 19:58:19 +0200 Subject: [PATCH 2/2] Backport fix #175: Cannot call #fields.detailedErrors() from a Spring Webflow form In spring-webflow 2.3.1's org.springframework.webflow.mvc.view.BindingModel.getFieldErrors(java.lang.String) "*" leads to the error that a non-empty prefix is expected; calling the parameter-less version works as expected. --- .../main/java/org/thymeleaf/spring3/util/FieldUtils.java | 7 ++++++- .../main/java/org/thymeleaf/spring4/util/FieldUtils.java | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/thymeleaf-spring3/src/main/java/org/thymeleaf/spring3/util/FieldUtils.java b/thymeleaf-spring3/src/main/java/org/thymeleaf/spring3/util/FieldUtils.java index 71c590bd..2c928878 100755 --- a/thymeleaf-spring3/src/main/java/org/thymeleaf/spring3/util/FieldUtils.java +++ b/thymeleaf-spring3/src/main/java/org/thymeleaf/spring3/util/FieldUtils.java @@ -164,7 +164,12 @@ private static List computeDetailedErrors( } if (bindExpression != null) { - final List fieldErrors = errors.getFieldErrors(bindStatus.getExpression()); + final List fieldErrors; + if (ALL_EXPRESSION.equals(bindExpression) || ALL_FIELDS.equals(bindExpression)) { + fieldErrors = errors.getFieldErrors(); + } else { + fieldErrors = errors.getFieldErrors(bindExpression); + } for (final FieldError fieldError : fieldErrors) { final String message = requestContext.getMessage(fieldError, false); final DetailedError errorObject = diff --git a/thymeleaf-spring4/src/main/java/org/thymeleaf/spring4/util/FieldUtils.java b/thymeleaf-spring4/src/main/java/org/thymeleaf/spring4/util/FieldUtils.java index 549ad5f9..bc486fcd 100755 --- a/thymeleaf-spring4/src/main/java/org/thymeleaf/spring4/util/FieldUtils.java +++ b/thymeleaf-spring4/src/main/java/org/thymeleaf/spring4/util/FieldUtils.java @@ -164,7 +164,12 @@ private static List computeDetailedErrors( } if (bindExpression != null) { - final List fieldErrors = errors.getFieldErrors(bindStatus.getExpression()); + final List fieldErrors; + if (ALL_EXPRESSION.equals(bindExpression) || ALL_FIELDS.equals(bindExpression)) { + fieldErrors = errors.getFieldErrors(); + } else { + fieldErrors = errors.getFieldErrors(bindExpression); + } for (final FieldError fieldError : fieldErrors) { final String message = requestContext.getMessage(fieldError, false); final DetailedError errorObject =