1 Reply Latest reply on Jun 20, 2007 11:31 AM by Gavin King

    Seam Custom Validation and Ajax4JSF v1.1.1

    Richard Hardy Newbie

      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.

      I have also 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>



      But, when I submit the whole form, by clicking on an a4j:commandButton, again, the validation is not performed.

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

      Thanks,

      Richard.