Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We found that the current BeanEditor implementation:
- fails to beanvalidate (JSR-303) complex beans (beans that contain other beans)
- fails to validate more than one bean in the same page (when more than one BeanEditor is present in teh page)
The problem is that BeanEditor doesn't provide the correct BeanValidationContext to the validation framework.
Given the following beans:
public class ComplexBean {
private SomeSimpleBean someSimpleBean;
@NotNull private String simpleNotNullProperty;
...
}
public class SimpleBean {
@Min(6) private int minValue;
..
}
One would expect that the following page would validate all the constraint from both ComplexBean and SimpleBean:
<t:form validate="complexBean">
<t:BeanEditor object="complexBean" />
<t:BeanEditor object="complexBean.someSimpleBean" />
...
Instead only ComplexBean.simpleNotNullProperty constraint is validated.
Moreover not even:
<t:form validate="this">
<t:BeanEditor object="beanA" />
<t:BeanEditor object=" beanB " />
<t:form/>
Is (bean)validating properly....
BeanEditor should provide the validation framework with a new BeanValidationContext bound to the object being validated all the times.