[
https://issues.apache.org/jira/browse/WICKET-4929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sven Meier resolved WICKET-4929.
--------------------------------
Resolution: Not A Problem
Assignee: Sven Meier
AjaxFormValidatingBehavior#addToAllFormComponents() is visiting FormComponents
only, so dontGoDeeper is not a problem.
Your HomePage is calling #addToAllFormComponents() before the ListView is
rendered, thus #populateItem() isn't called yet.
You should use an IComponentInstantiationListener instead that attaches the
AjaxFormValidatingBehavior to all FormComponents.
> AjaxFormValidatingBehavior.addToAllFormComponents only adds the behaviour to
> direct descendents of the form
> -----------------------------------------------------------------------------------------------------------
>
> Key: WICKET-4929
> URL: https://issues.apache.org/jira/browse/WICKET-4929
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.2.0, 6.3.0
> Environment: Tested on Mac OS X 10.8, Debian 6 with JDK 1.6, but the
> issue is not platform dependent.
> Reporter: David van Enckevort
> Assignee: Sven Meier
> Labels: patch
> Attachments: AjaxFormValidatingBehavior.tgz
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> == Description ==
> The AjaxFormValidatingBehavior.addToAllFormComponents call only adds the
> behaviour to the direct descendents of the Form component. FormComponent
> components that are part of a ListView do not get the behaviour added.
> == Expected behaviour ==
> This method should go through the entire hierarchy below the form component
> and add the behaviour to all components.
> == Resolution ==
> I reproduced the issue in the attached test application and traced the issue
> to the following line in AjaxFormValidatingBehavior.java (as line specified
> as diff)
> diff AjaxFormValidatingBehavior.java{,.new}
> 151d150
> < visit.dontGoDeeper();
> I would propose to remove the visit.dontGoDeeper() call.
> == Impact ==
> * I do realise that it will have some performance penalty, but I expect this
> to be negligible. For forms with a deep hierarchy you should add the
> behaviour to the specific fields where it is expected.
> * Changing the behaviour may have unexpected side effects for people who have
> a subform and depend on the current behaviour of not recursing. However I
> believe that code would be depending on incorrect behaviour and should be
> corrected by explicitly adding the behaviour only to the intended fields.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira