Fixed regression in SpringValidatorAdapter's retrieval of invalid values

Issue: SPR-10243
This commit is contained in:
Juergen Hoeller
2013-02-11 12:21:46 +01:00
parent 19eecb151b
commit cef97819c5
2 changed files with 4 additions and 6 deletions

View File

@@ -130,7 +130,8 @@ public class SpringValidatorAdapter implements SmartValidator, javax.validation.
}
else {
Object invalidValue = violation.getInvalidValue();
if (field.contains(".") && !field.contains("[]")) {
if (!"".equals(field) && (invalidValue == violation.getLeafBean() ||
(field.contains(".") && !field.contains("[]")))) {
// Possibly a bean constraint with property path: retrieve the actual property value.
// However, explicitly avoid this for "address[]" style paths that we can't handle.
invalidValue = bindingResult.getRawFieldValue(field);