1 2 Previous Next 16 Replies Latest reply on Feb 18, 2008 3:56 PM by Blue

    reRender after Validation issue

    Blue Newbie

      Hello All,

      I was hoping you could help me out with this issue that Im having with updating an A4J output panel after JSF validation errors have kicked off... So first I will give you the scenario that works:

      1) User comes to the form enters tech number and hits find
      2) Form updates the section for first/last name.
      3) user enters the account number and hits Find
      4) Form updates the address section of the page
      5) User manually enters the rest of the fields and submits the form.

      This all works fine until this scenario happens:

      1) User comes to the page and clicks the Save/submit button.
      2) Form returns with all the the required="true" fields flagged with error messages.
      3) User enters tech number and hits find
      4) Form updates the section for first/last name.
      5) user enters the account number and hits Find
      6) Form updates the address section of the page...But only the fields that were flagged as required="true" come back with data...Where before all the data came back.

      I will stop there because this is where I need some help...Below is the xhtml code that I have so far:

      
      <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      
      <ui:composition xmlns="http://www.w3.org/1999/xhtml"
       xmlns:s="http://jboss.com/products/seam/taglib"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:a4j="http://richfaces.org/a4j"
       xmlns:rich="http://richfaces.org/rich"
       template="template.xhtml">
      
       <ui:define name="content">
       <div id="formContent">
       <h:form id="loadData">
       <a4j:log hotkey="M"/>
       <a4j:outputPanel id="globalErrors" ajaxRendered="true">
       <h:messages styleClass="errors" globalOnly="true" />
       </a4j:outputPanel>
       <s:validateAll>
       <a4j:outputPanel id="findTechByTechNumber">
       <a4j:region>
       <div id="techSearch">
       <label>*Tech Number:</label>
       <div class="input">
       <a4j:outputPanel ajaxRendered="true">
       <h:inputText id="dtTechNumber" maxlength="5" value="#{disasterTracking.dtTechNumber}" required="true" />
       <h:message for="dtTechNumber" styleClass="errors" />
       </a4j:outputPanel>
       </div>
       <div class="button">
      
       <a4j:commandButton value="FIND" action="#{disasterTrackingManagerBean.loadTechByTechNumber}" reRender="findTechByTechNumber" />
      
       </div>
       </div>
       </a4j:region>
      
       <div id="techData">
       <div id="techSearchLeftSide">
       <label>*Tech First Name:</label>
       <div class="input">
       <a4j:outputPanel ajaxRendered="true">
       <h:inputText id="dtTechFname" maxlength="25" value="#{disasterTracking.dtTechFname}" required="true" />
       <h:message for="dtTechFname" styleClass="errors" />
       </a4j:outputPanel>
       </div>
       </div>
      
       <div id="techSearchRightSide">
       <label>*Tech Last Name:</label>
       <div class="input">
       <a4j:outputPanel ajaxRendered="true">
       <h:inputText id="dtTechLname" maxlength="50" value="#{disasterTracking.dtTechLname}" required="true" />
       <h:message for="dtTechLname" styleClass="errors" />
       </a4j:outputPanel>
       </div>
       </div>
       </div>
       </a4j:outputPanel>
      
      
      
      
      
       <a4j:outputPanel id="findAddressByAccountNumber">
      
       <div id="accountSearch">
       <label>Account Number:</label>
       <a4j:region immediate="true">
       <div class="input">
       <h:inputText id="dtAcctNbr" maxlength="8" value="#{disasterTracking.dtAcctNbr}" />
       <h:message for="dtAcctNbr" styleClass="errors" />
       </div>
       <div class="button">
      
       <a4j:commandButton value="FIND" action="#{disasterTrackingManagerBean.loadAddressByAccountNumber}" reRender="findAddressByAccountNumber" />
      
       </div>
       </a4j:region>
       </div>
      
      
      
       <div id="houseInformation1">
       <div id="Address">
       <label>*Address:</label>
       <div class="input">
       <h:inputText id="dtAddress" maxlength="36" value="#{disasterTracking.dtAddress}" required="true" />
       <h:message for="dtAddress" styleClass="errors" />
       </div>
       </div>
      
       <div id="Apartment">
       <label>Apartment Number:</label>
       <div class="input">
      
       <h:inputText id="dtAptNbr" maxlength="10" value="#{disasterTracking.dtAptNbr}" />
       <h:message for="dtAptNbr" styleClass="errors" />
      
       </div>
       </div>
      
       </div>
      
       <div id="houseInformation2">
       <div id="City">
       <label>*City:</label>
       <div class="input">
       <h:inputText id="dtCity" maxlength="25" value="#{disasterTracking.dtCity}" required="true" />
       <h:message for="dtCity" styleClass="errors" />
       </div>
       </div>
      
       <div id="State">
       <label>*State:</label>
       <div class="input">
       <h:inputText id="dtState" maxlength="2" value="#{disasterTracking.dtState}" required="true" />
       <h:message for="dtState" styleClass="errors" />
       </div>
       </div>
      
       <div id="Zipcode">
       <label>*Zipcode:</label>
       <div class="input">
       <h:inputText id="dtZip" maxlength="5" value="#{disasterTracking.dtZip}" required="true" />
       <h:message for="dtZip" styleClass="errors" />
       </div>
       </div>
       </div>
      
       <div id="houseInformation3">
       <div id="Node">
       <label>Node:</label>
       <div class="input">
       <h:inputText id="dtNode" maxlength="5" value="#{disasterTracking.dtNode}" />
       <h:message for="dtNode" styleClass="errors" />
       </div>
       </div>
      
       <div id="DropType">
       <label>*Drop Type</label>
       <div class="input">
       <h:selectOneMenu id="dropType" value="#{disasterTracking.dropType}" required="true">
       <s:selectItems value="#{allDropTypes.resultList}" var="currentDropType" label="#{currentDropType.drtDesc}" noSelectionLabel="Please Select..." />
       <s:convertEntity />
       </h:selectOneMenu>
       <h:message for="dropType" styleClass="errors" />
       </div>
       </div>
       </div>
       </a4j:outputPanel>
      
       <a4j:outputPanel>
       <div id="houseInformation4">
       <div id="AccountType">
       <label>*Account Type</label>
       <div class="input">
       <h:selectOneMenu id="accountType" value="#{disasterTracking.accountType}" required="true">
       <s:selectItems value="#{allAccountTypes.resultList}" var="currentAccountType" label="#{currentAccountType.atDesc}" noSelectionLabel="Please Select..." />
       <s:convertEntity />
       </h:selectOneMenu>
       <h:message for="accountType" styleClass="errors" />
       </div>
       </div>
      
       <div id="HouseStatusType">
       <label>*House Status Type</label>
       <div class="input">
       <h:selectOneMenu id="houseStatusType" value="#{disasterTracking.houseStatusType}" required="true">
       <s:selectItems value="#{allHouseStatusTypes.resultList}" var="currentHouseStatusType" label="#{currentHouseStatusType.hstDesc}" noSelectionLabel="Please Select..." />
       <s:convertEntity />
       </h:selectOneMenu>
       <h:message for="houseStatusType" styleClass="errors" />
       </div>
       </div>
       </div>
      
      
       <div id="houseInformation5">
       <div id="DropStatusType">
       <label>*Drop Status Type</label>
       <div class="input">
       <h:selectOneMenu id="dropStatusType" value="#{disasterTracking.dropStatusType}" required="true">
       <s:selectItems value="#{allDropStatusTypes.resultList}" var="currentDropStatusType" label="#{currentDropStatusType.dstDesc}" noSelectionLabel="Please Select..." />
       <s:convertEntity />
       </h:selectOneMenu>
       <h:message for="dropStatusType" styleClass="errors" />
       </div>
       </div>
      
       <div id="Checkboxes">
       <div id="CpeFields">
       <label>*CPE DAMAGE/REMOVED:</label>
       <h:selectOneRadio id="dtCpeDamaged" value="#{disasterTracking.dtCpeDamaged}" required="true" >
       <f:selectItem itemValue="Y" itemLabel="Yes"/>
       <f:selectItem itemValue="N" itemLabel="No"/>
       </h:selectOneRadio>
       <h:message for="dropStatusType" styleClass="errors" />
       </div>
      
       <div id="CpeFields">
       <label>*CPE RECOVERED:</label>
       <h:selectOneRadio id="dtCpeRecovered" value="#{disasterTracking.dtCpeRecovered}" >
       <f:selectItem itemValue="Y" itemLabel="Yes"/>
       <f:selectItem itemValue="N" itemLabel="No"/>
       </h:selectOneRadio>
       <h:message for="dropStatusType" styleClass="errors" />
       </div>
      
       <div id="CpeFields">
       <label>*CPE INSTALLED:</label>
       <h:selectOneRadio id="dtCpeInstalled" value="#{disasterTracking.dtCpeInstalled}" >
       <f:selectItem itemValue="Y" itemLabel="Yes"/>
       <f:selectItem itemValue="N" itemLabel="No"/>
       </h:selectOneRadio>
       <h:message for="dropStatusType" styleClass="errors" />
       </div>
       </div>
       </div>
      
       <div id="houseInformation6">
       <div id="JobDuration">
       <label>*Job Duration (IN MINUTES):</label>
       <div class="input">
       <h:inputText id="dtJobDuration" maxlength="8" value="#{disasterTracking.dtJobDuration}" required="true" />
       <h:message for="dtJobDuration" styleClass="errors" />
       </div>
       </div>
       </div>
      
       <div id="houseInformation7">
       <div id="Comments">
       <label>Comments:</label>
       <div class="input">
       <h:inputTextarea id="dtComments" rows="8" maxlength="1000" value="#{disasterTracking.dtComments}" />
       <h:message for="dtComments" styleClass="errors" />
       </div>
       </div>
       </div>
       </a4j:outputPanel>
       </s:validateAll>
       <div id="buttonSection">
       <div class="button">
       <h:commandButton id="save" value="SAVE" action="#{disasterTrackingManagerBean.persist}" />
       </div>
       </div>
      
       </h:form>
       </div>
       </ui:define>
      
      </ui:composition>
      


      If you have any Idea of what I'm doing incorrectly in my code please help me out.

      Thank you

      Blue

        • 1. Re: reRender after Validation issue
          Blue Newbie

          I'm still experiencing the issue above...How does everyone else handle a situation like this...Is this a possible bug with JSF or Richfaces? Please let me know something.

          Thank you

          Blue

          • 2. Re: reRender after Validation issue
            Sergey Smirnov Master

            Could you simplify your example. It takes several minutes just to read the code from top to bottom.

            It is ok if you ask like that on the payed support, but not on the public forum.

            • 3. Re: reRender after Validation issue
              Blue Newbie

              Okay...

              Here I have narrowed it down to the section that I'm having the problem with:

              
               <div id="formContent"><h:form id="loadData">
               <a4j:outputPanel id="globalErrors">
               <h:messages styleClass="errors" globalOnly="true" />
               </a4j:outputPanel>
              
               <a4j:outputPanel id="findAddressByAccountNumber">
               <a4j:region>
               <div id="accountSearch"><label>Account Number:</label>
               <div class="input"><h:inputText id="dtAcctNbr" maxlength="8"
               value="#{disasterTracking.dtAcctNbr}">
               <a4j:support event="onblur" reRender="dtAcctNbrDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               <div class="button"><a4j:commandButton value="FIND"
               action="#{disasterTrackingManagerBean.loadAddressByAccountNumber}"
               reRender="findAddressByAccountNumber, globalErrors" /></div>
               </div>
               </a4j:region>
              
               <div id="houseInformation1">
               <div id="Address"><label>*Address:</label>
               <div class="input"><h:inputText id="dtAddress" required="true"
               size="36" maxlength="36" value="#{disasterTracking.dtAddress}">
               <a4j:support event="onblur" reRender="dtAddressDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               </div>
              
               <div id="Apartment"><label>Apartment Number:</label>
               <div class="input"><h:inputText id="dtAptNbr" size="10"
               maxlength="10" value="#{disasterTracking.dtAptNbr}">
               <a4j:support event="onblur" reRender="dtAptNbrDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               </div>
               </div>
              
               <div id="houseInformation2">
               <div id="City"><label>*City:</label>
               <div class="input"><h:inputText id="dtCity" required="true"
               size="25" maxlength="25" value="#{disasterTracking.dtCity}">
               <a4j:support event="onblur" reRender="dtCityDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               </div>
              
               <div id="State"><label>*State:</label>
               <div class="input"><h:inputText id="dtState" required="true"
               size="2" maxlength="2" value="#{disasterTracking.dtState}">
               <a4j:support event="onblur" reRender="dtStateDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               </div>
              
               <div id="Zipcode"><label>*Zipcode:</label>
               <div class="input"><h:inputText id="dtZip" required="true"
               size="5" maxlength="5" value="#{disasterTracking.dtZip}">
               <a4j:support event="onblur" reRender="dtZipDecoration"
               bypassUpdates="true" />
               </h:inputText></div>
               </div>
               </div>
               </a4j:outputPanel>
              
               <div id="buttonSection">
               <div class="button"><h:commandButton id="save" value="SAVE"
               action="#{disasterTrackingManagerBean.persist}" /></div>
               </div>
              
               </h:form></div>
              
              


              Let me know if you need a better explaination of the problem

              • 4. Re: reRender after Validation issue
                Sergey Smirnov Master

                Just for beginning.

                Instead of :

                <a4j:outputPanel id="globalErrors">
                 <h:messages styleClass="errors" globalOnly="true" />
                </a4j:outputPanel>


                Use just
                <rich:messages styleClass="errors" globalOnly="true" />


                It allows to see the errors after Ajax response.

                • 5. Re: reRender after Validation issue
                  Sergey Smirnov Master

                  I still soes not understand your code. You have reRender="dtAcctNbrDecoration", but no any dtAcctNbrDecoration around

                  BWT, it is against the html spec to wrap block element with inline element. In your case, you have a4j:outputPanel (generate inline span by default) that wraps divs
                  It is important if you re-render such context during the Ajax response. The TIDY filter, just closes inline tag before starting the block one.

                  So, add style="display:block" to the a4j:outputPanel or use just a div if you do not want to point to it with reRender.

                  • 6. Re: reRender after Validation issue
                    Blue Newbie

                     


                    I still soes not understand your code. You have reRender="dtAcctNbrDecoration", but no any dtAcctNbrDecoration around


                    I took all of my s:decorate tags out to slim down the code but i forgot to remove the reRender reference...check out the update code below...


                    BWT, it is against the html spec to wrap block element with inline element. In your case, you have a4j:outputPanel (generate inline span by default) that wraps divs
                    It is important if you re-render such context during the Ajax response. The TIDY filter, just closes inline tag before starting the block one.

                    So, add style="display:block" to the a4j:outputPanel or use just a div if you do not want to point to it with reRender.


                    I have taken out all of the div references so that you can see just pure JSF/Richfaces tags and get down to what my main issue above is..Here is the updated code...I also include the other change you stated above about the rich:messages tag:

                    
                    <h:form id="loadData">
                     <rich:messages id="globalErrors" styleClass="errors"
                     globalOnly="true" />
                    
                     <a4j:outputPanel id="findAddressByAccountNumber">
                     <a4j:region>
                     <s:decorate id="dtAcctNbrDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">Account Number:</ui:define>
                     <h:inputText id="dtAcctNbr" maxlength="8"
                     value="#{disasterTracking.dtAcctNbr}">
                     <a4j:support event="onblur" reRender="dtAcctNbrDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                    
                     <a4j:commandButton value="FIND"
                     action="#{disasterTrackingManagerBean.loadAddressByAccountNumber}"
                     reRender="findAddressByAccountNumber, globalErrors" />
                     </a4j:region>
                    
                     <s:decorate id="dtAddressDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">Address:</ui:define>
                     <h:inputText id="dtAddress" required="true" size="36"
                     maxlength="36" value="#{disasterTracking.dtAddress}">
                     <a4j:support event="onblur" reRender="dtAddressDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                    
                     <s:decorate id="dtCityDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">City:</ui:define>
                     <h:inputText id="dtCity" required="true" size="25" maxlength="25"
                     value="#{disasterTracking.dtCity}">
                     <a4j:support event="onblur" reRender="dtCityDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                    
                     <s:decorate id="dtStateDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">State:</ui:define>
                     <h:inputText id="dtState" required="true" size="2" maxlength="2"
                     value="#{disasterTracking.dtState}">
                     <a4j:support event="onblur" reRender="dtStateDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                    
                     <s:decorate id="dtZipDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">Zipcode:</ui:define>
                     <h:inputText id="dtZip" required="true" size="5" maxlength="5"
                     value="#{disasterTracking.dtZip}">
                     <a4j:support event="onblur" reRender="dtZipDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                     </a4j:outputPanel>
                    
                     <a4j:outputPanel id="test">
                     <s:decorate id="dtAptNbrDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">Apartment Number:</ui:define>
                     <h:inputText id="dtAptNbr" size="10" maxlength="10"
                     value="#{disasterTracking.dtAptNbr}">
                     <a4j:support event="onblur" reRender="dtAptNbrDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                    
                     <s:decorate id="dtNodeDecoration" template="layout/edit.xhtml">
                     <ui:define name="label">Node:</ui:define>
                     <h:inputText id="dtNode" size="5" maxlength="5"
                     value="#{disasterTracking.dtNode}">
                     <a4j:support event="onblur" reRender="dtNodeDecoration"
                     bypassUpdates="true" />
                     </h:inputText>
                     </s:decorate>
                     </a4j:outputPanel>
                    
                     <h:commandButton id="save" value="Save"
                     action="#{disasterTrackingManagerBean.persist}"
                     rendered="#{!disasterTrackingHome.managed}" />
                     </h:form>
                    
                    


                    • 7. Re: reRender after Validation issue
                      Sergey Smirnov Master

                      Could you describe the problem with the latest version in the same short manner please.

                      • 8. Re: reRender after Validation issue
                        Blue Newbie

                        Hey Sergey,

                        I just notice I sent the incorrect code update...Here is the version I wanted to share along with the description of the problem:

                        So this is how it is intended to work:

                        1) user enters the account number and hits Find
                        2) information goes to a method that has a stored procedure that returns the information related to the account number entered.
                        3) Form updates the address section with the information returned from the stored procedure.
                        4) User hit Save Button

                        Here is the problem:

                        1) User comes to the page and without entering anything clicks the Save/submit button.
                        2) Form returns with all of the required="true" fields flagged with error messages (As it is suppose to work).
                        3) user enters the account number and hits Find.
                        4) information goes to a method that has a stored procedure that returns the information related to the account number entered.
                        5) Form updates the address section of the page...But only the fields that were flagged as required="true" come back with data...The apartment number and Node fields which are not required="true" do not return anything.

                         <h:form id="loadData">
                         <rich:messages id="globalErrors" styleClass="errors"
                         globalOnly="true" />
                        
                         <a4j:outputPanel id="findAddressByAccountNumber">
                         <a4j:region>
                         <s:decorate id="dtAcctNbrDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">Account Number:</ui:define>
                         <h:inputText id="dtAcctNbr" maxlength="8"
                         value="#{disasterTracking.dtAcctNbr}">
                         <a4j:support event="onblur" reRender="dtAcctNbrDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <a4j:commandButton value="FIND"
                         action="#{disasterTrackingManagerBean.loadAddressByAccountNumber}"
                         reRender="findAddressByAccountNumber, globalErrors" />
                         </a4j:region>
                        
                         <s:decorate id="dtAddressDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">Address:</ui:define>
                         <h:inputText id="dtAddress" required="true" size="36"
                         maxlength="36" value="#{disasterTracking.dtAddress}">
                         <a4j:support event="onblur" reRender="dtAddressDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <s:decorate id="dtAptNbrDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">Apartment Number:</ui:define>
                         <h:inputText id="dtAptNbr" size="10" maxlength="10"
                         value="#{disasterTracking.dtAptNbr}">
                         <a4j:support event="onblur" reRender="dtAptNbrDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <s:decorate id="dtCityDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">City:</ui:define>
                         <h:inputText id="dtCity" required="true" size="25" maxlength="25"
                         value="#{disasterTracking.dtCity}">
                         <a4j:support event="onblur" reRender="dtCityDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <s:decorate id="dtStateDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">State:</ui:define>
                         <h:inputText id="dtState" required="true" size="2" maxlength="2"
                         value="#{disasterTracking.dtState}">
                         <a4j:support event="onblur" reRender="dtStateDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <s:decorate id="dtZipDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">Zipcode:</ui:define>
                         <h:inputText id="dtZip" required="true" size="5" maxlength="5"
                         value="#{disasterTracking.dtZip}">
                         <a4j:support event="onblur" reRender="dtZipDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                        
                         <s:decorate id="dtNodeDecoration" template="layout/edit.xhtml">
                         <ui:define name="label">Node:</ui:define>
                         <h:inputText id="dtNode" size="5" maxlength="5"
                         value="#{disasterTracking.dtNode}">
                         <a4j:support event="onblur" reRender="dtNodeDecoration"
                         bypassUpdates="true" />
                         </h:inputText>
                         </s:decorate>
                         </a4j:outputPanel>
                        
                         <h:commandButton id="save" value="Save"
                         action="#{disasterTrackingManagerBean.persist}"
                         rendered="#{!disasterTrackingHome.managed}" />
                         </h:form>
                        



                        • 9. Re: reRender after Validation issue
                          Sergey Smirnov Master

                          Hmm, there is no problem in the code from the first glance.

                          So, you say that h:inputText id="dtAptNbr".... value="#{disasterTracking.dtAptNbr}" is not updated.

                          What if you put h:outputText value="#{disasterTracking.dtAptNbr}" just after it, does the text label is updated or not?

                          • 10. Re: reRender after Validation issue
                            Blue Newbie

                            Both the Apartment and Node field which are the ones that are not required are not updated...Yes I have test what you suggested with putting an output text component next to the fields that are not updating and the output text field does return with the expected values.

                            • 11. Re: reRender after Validation issue
                              Sergey Smirnov Master

                              Just to avoid misleading: Did you mean "output text field does return with the expected values." or "output text field does NOT return with the expected values."

                              • 12. Re: reRender after Validation issue
                                Blue Newbie

                                It does return the expected values

                                • 13. Re: reRender after Validation issue
                                  Florian Marwede Expert

                                  Sorry guys, I don't want to bother your discussion...if an output text is updated and in the same context an input field is not this could be variant of the problem explained here:

                                  http://labs.jboss.com/wiki/RichFacesTwoInputText

                                  • 14. Re: reRender after Validation issue
                                    Sergey Smirnov Master

                                     

                                    "fmarwede" wrote:
                                    Sorry guys, I don't want to bother your discussion...if an output text is updated and in the same context an input field is not this could be variant of the problem explained here:

                                    http://labs.jboss.com/wiki/RichFacesTwoInputText


                                    The source of the problem is somewhere there. However, the region is used around the ajax action component. So, the rest fields should not be processed.
                                    Something causes that submitted value or/and component tree value cloak the component from update based on the model values.

                                    1 2 Previous Next