[jboss-user] [JBoss Seam] - Seam Custom Validation and Ajax4JSF v1.1.1

rhardy5014 do-not-reply at jboss.com
Wed Jun 20 07:03:08 EDT 2007


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. 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055970#4055970

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055970



More information about the jboss-user mailing list