hi ravi j,
make immediate attribute false, and add h:inputHidden to your form with id like h1, in your rich:tabpanel add execute=":h1" :
<h:form id="mainform" enctype="multipart/form-data">
<rich:tabPanel id="tabs" switchType="ajax" execute=":h1">
if your JSF implementation is MyFaces, try execute="@none"
Thanks Ghosh for the reply.
our environment is myfaces 2.0.5+ richfaces 4.0.0 final. execute attribute is not present on rich:tabpanel.
I tried to excute ":h1" on tab2 . still the validations are getting fired on tab1. i tried to execute "@none" on tab2. validations are not fired on tab1, but tab2 is not displayed.
HI Tehackio teha,
The above solution reloads entire tab panel on tab click.it reloads all the managed beans which is unnecessary. I have a complex tabpanel with many tabs.Reloading all the managed beans and entire tabpanel is not ideal solution for our case.. wondering any good solutions to this problem.
I am able to fix the problem now. I used itemchangelistener on tabpanel. In listener method I cleared the UITab component which is seleted, uitab.getChildren().clear(). When the tab is rendered the child components of the tab are recreated and latest bean information will be displayed.
immediate true on UI:tabpanel is causing the update model phase to be skipped when some validations are failed. The fix is to clear UITab component on tab change, so that latest bean data will be displayed in render repsonse phase.