restored SpringValidatorAdapter's ability to handle bean constraints with property paths (SPR-8895)

master
Juergen Hoeller 13 years ago
parent 27471e0555
commit aedccec67e
  1. 7
      org.springframework.context/src/main/java/org/springframework/validation/beanvalidation/SpringValidatorAdapter.java

@ -127,8 +127,13 @@ public class SpringValidatorAdapter implements SmartValidator, javax.validation.
errors.getObjectName(), errorCodes, errorArgs, violation.getMessage()); errors.getObjectName(), errorCodes, errorArgs, violation.getMessage());
} }
else { else {
Object invalidValue = violation.getInvalidValue();
if (!"".equals(field) && invalidValue == violation.getLeafBean()) {
// bean constraint with property path: retrieve the actual property value
invalidValue = bindingResult.getRawFieldValue(field);
}
error = new FieldError( error = new FieldError(
errors.getObjectName(), nestedField, violation.getInvalidValue(), false, errors.getObjectName(), nestedField, invalidValue, false,
errorCodes, errorArgs, violation.getMessage()); errorCodes, errorArgs, violation.getMessage());
} }
bindingResult.addError(error); bindingResult.addError(error);

Loading…
Cancel
Save