diff --git a/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java b/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java index 74410634..f83581a7 100644 --- a/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java +++ b/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java @@ -122,7 +122,7 @@ public class MessageContextErrors extends AbstractErrors { public Object getFieldValue(String field) { // requires boundObject, and expressionParser to work if (mappingResults != null) { - List results = mappingResults.getResults(new FieldErrorResult(field)); + List results = mappingResults.getResults(new PropertyErrorMappingResult(field)); if (!results.isEmpty()) { MappingResult fieldError = (MappingResult) results.get(0); return fieldError.getOriginalValue(); @@ -155,16 +155,16 @@ public class MessageContextErrors extends AbstractErrors { } }; - private static class FieldErrorResult implements MappingResultsCriteria { + private static class PropertyErrorMappingResult implements MappingResultsCriteria { - private String field; + private String property; - public FieldErrorResult(String field) { - this.field = field; + public PropertyErrorMappingResult(String property) { + this.property = property; } public boolean test(MappingResult result) { - if (field.equals(result.getMapping().getTargetExpression().getExpressionString())) { + if (result.isError() && property.equals(result.getMapping().getTargetExpression().getExpressionString())) { return true; } else { return false; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/validation/DefaultValidationContext.java b/spring-webflow/src/main/java/org/springframework/webflow/validation/DefaultValidationContext.java index 468076cb..d4494793 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/validation/DefaultValidationContext.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/validation/DefaultValidationContext.java @@ -21,6 +21,7 @@ public class DefaultValidationContext implements ValidationContext { public DefaultValidationContext(RequestContext requestContext, String eventId, MappingResults mappingResults) { this.requestContext = requestContext; this.eventId = eventId; + this.mappingResults = mappingResults; } public MessageContext getMessageContext() { @@ -28,13 +29,7 @@ public class DefaultValidationContext implements ValidationContext { } public String getUserEvent() { - if (eventId != null) { - return eventId; - } else if (requestContext.getCurrentEvent() != null) { - return requestContext.getCurrentEvent().getId(); - } else { - return null; - } + return eventId; } public Principal getUserPrincipal() { @@ -54,14 +49,14 @@ public class DefaultValidationContext implements ValidationContext { private static class PropertyMappingResult implements MappingResultsCriteria { - private String field; + private String property; - public PropertyMappingResult(String field) { - this.field = field; + public PropertyMappingResult(String property) { + this.property = property; } public boolean test(MappingResult result) { - if (field.equals(result.getMapping().getTargetExpression().getExpressionString())) { + if (property.equals(result.getMapping().getTargetExpression().getExpressionString())) { return true; } else { return false;