Hi all. Have a quit strange behaviour of f:ajax.
Scenario: registration form with 2 step registration 1. user fill base info (name, email, phone) and send it - email sending to user - user confirm his email - by clicking on link he comes to the same page but now he have many fields to fill 2. user fill all fields, but f:ajax not working (for validation)
structure : page have to panels, in on of it specific ui component situated (all fields for use at step 2)
....
Registration Page
<h:form>
<f:ajax render="@form" execute="registerPanel doolop donePanel">
<h:panelGrid id="registerPanel" columns="3" rendered="#{partnerTempRegisration.processToTemp}">
.....
<h:panelGroup id="doolop" rendered="#{partnerTempRegisration.submited}">
Registrated!
</h:panelGroup>
</f:ajax>
<h:panelGroup id="donePanel" rendered="#{partnerTempRegisration.forRegistration}" >
<h:panelGroup rendered="#{partnerTempRegisration.aboutToRegistrate}">
Continue registration!
<hydra:pregistration />
</h:panelGroup>
<h:panelGroup rendered="#{!partnerTempRegisration.aboutToRegistrate}">
Could not be registrated!
</h:panelGroup>
</h:panelGroup>
partnerTempRegisration.processToTemp - check if link hase parameter hash (registration.xhtml?hash=XXXX)
ui component (hydra:pregistration):
<cc:implementation>
<f:ajax render="@form" execute="register_official register_trade register_contact register_advertising">
<h:form >
<p:panel id="register_official" header="#{i18n.register_official_title}" styleClass="panel_text" >
<f:validateRequired >
#{i18n.register_official_full_name_enterprise}
<h:panelGrid columns="2" styleClass="register_grid">
<h:outputText value="#{i18n.register_input_ru_ru}" styleClass="register_cell"/>
<h:panelGroup styleClass="register_cell" layout="block">
<h:inputText id="official_full_name_ru_ru" styleClass="register_fields"
requiredMessage="#{i18n.register_required}"
value="#{partnerRegistration.official_full_name_ru_ru}"/>
<h:message for="official_full_name_ru_ru" errorClass="error_message"/>
</h:panelGroup>
.....
</f:validateRequired>
</p:panel>
...
<h:commandButton action="#{partnerRegistration.submitRegistration}" value="submit" disabled="#{!partnerRegistration.filled}"/>
</h:form>
</f:ajax>
</cc:implementation>
Problem : ajax not woking in a case of step 2, but if I am put hydra:pregistration in the place where it would be rendered by default - it works as expected.
Q1: is this is some kind of jsf 2.0 life cycle rules? Q2: is there is some design for this situation (on the same page, I know that i can just put it on another)? Q3: what you could propose to do in this situation ?
Thank you!