[ 
https://issues.apache.org/jira/browse/TOMAHAWK-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503386
 ] 

David Delbecq edited comment on TOMAHAWK-1012 at 6/11/07 5:58 AM:
------------------------------------------------------------------

Hi, first thanks for pointing out problem with children of tab not being in 
tree until seen for first time, i overlooked this and will check if i can find 
a proper solution to this.

However, i don't agree on the fact i would break JSF specifications
The specs are telling that HtmlPanelTab should skip further processing of 
validation if it's rendered attribute is false. Patch never broke this. It's 
certainly not the job (in the specs) of HtmlPanetTab's parent (this is 
HtmlPanelTabbedPane) to skip the validation of tabs. Each UIComponent is 
responsible for itself. If itself must be validated, then call 
processValidators on all children, which are then responsible for themselves.

I do this in patch:
        * If the rendered property of this HtmlPanelTabbedPane is false, skip 
further processing.
        * Call the processValidators() method of all facets and children of 
this UIComponent, in the order determined by a call to getFacetsAndChildren(), 
except for not currently selected tabs if it's processValidators property is 
false. 

(to make it short, all tabs have the rendered property set to true unless 
specified otherwise user and as such are elligible for validation)


Regards,
David


 was:
Hi, first thanks for pointing out problem with children of tab not being in 
tree until seen for first time, i overlooked this and will check if i can find 
a proper solution to this.

However, i don't agree on the fact i would break JSF specifications
The specs are telling that HtmlPanelTab should skip further processing of 
validation if it's rendered attribute is false. Patch never broke this. It's 
certainly not the job (in the specs) of HtmlPanetTab's parent (this is 
HtmlPanelTabbedPane) to skip the validation of tabs. Each UIComponent is 
responsible for itself. If itself must be validated, then call 
processValidators on all children, which are then responsible for themselves.

I do this in patch:
        * If the rendered property of this HtmlPanelTabbedPane is false, skip 
further processing.
        * Call the processValidators() method of all facets and children of 
this UIComponent, in the order determined by a call to getFacetsAndChildren(), 
except for not currently selected tabs is processValidators property is false. 

(to make it short, all tabs have the rendered property set to true unless 
specified otherwise user and as such are elligible for validation)


Regards,
David

> TabbedPane does not validate non-selected tabs in server side tab switching 
> mode
> --------------------------------------------------------------------------------
>
>                 Key: TOMAHAWK-1012
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1012
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Tabbed Pane
>    Affects Versions: 1.1.5, 1.1.6-SNAPSHOT
>            Reporter: David Delbecq
>         Attachments: tabbedPaneValidator.diff
>
>
> When your form spreads accross a tabbed pane, the validators of components 
> residing inside not selected tab are not validated. This is a problem because 
> all form need to be validated before writting values to backing beans.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to