1 Reply Latest reply on Jun 20, 2007 4:42 AM by rhardy5014

    Ajax4JSF 1.1.1 and JBOSS Seam Validation

    rhardy5014

      Hi,
      I am using JBOSS 4.2.0 and Seam 1.2.1GA. I have a web application which performs some ajax-based validation of form elements using custom seam (hibernate) validators e.g.

      <s:decorate id="messageFullTextDecoration">
       <h:inputText styleClass="#{invalid?'invalidField searchInput':'searchInput'}"
       value="#{searchManager.messageSearch.fullText}">
       <s:validate/>
       <a4j:support event="onblur"
       reRender="messageFullTextDecoration"
       eventsQueue="generalEventQueue"
       oncomplete="releaseAjax();"/>
       </h:inputText>
       </s:decorate>
      


      With a seam (hibernate) custom validator attached to the property in the seam backing bean as shown below:

      @FullText
      private String fullText = null;


      This all works fine when I was using Ajax4JSF V1.1.0 and Richfaces 3.0.0

      I decided to try out the new version of rich faces (3.0.1), which comes with Ajax4JSF v1.1.1.

      In upgrading, I did not perform ANY other actions other than to replace the old jar files for a4j and richfaces with the new ones, rebuild and redeploy my project.

      After redeployment, the onblur event still creates an ajax request, but the custom validation seems to be not even called.

      Can anyone help? Are there some other actions I need to perform when upgrading to this version of a4j?

      Thanks,

      Richard.


        • 1. Re: Ajax4JSF 1.1.1 and JBOSS Seam Validation
          rhardy5014

          As an update, I have found that if I add ajaxSingle="true" to the a4j:support tag, then the validation works as expected.

          e.g.

          <s:decorate id="messageFullTextDecoration">
           <h:inputText styleClass="#{invalid?'invalidField searchInput':'searchInput'}"
           value="#{searchManager.messageSearch.fullText}">
           <s:validate/>
           <a4j:support event="onblur"
           reRender="messageFullTextDecoration"
           eventsQueue="generalEventQueue"
           ajaxSingle="true"
           oncomplete="releaseAjax();"/>
           </h:inputText>
           </s:decorate>


          Richard.