[seam-issues] [JBoss JIRA] (JBSEAM-4949) Seam annotated JSF validator breaks JPDL navigation

Andrea Martino (JIRA) jira-events at lists.jboss.org
Wed May 9 03:21:17 EDT 2012


Andrea Martino created JBSEAM-4949:
--------------------------------------

             Summary: Seam annotated JSF validator breaks JPDL navigation
                 Key: JBSEAM-4949
                 URL: https://issues.jboss.org/browse/JBSEAM-4949
             Project: Seam 2
          Issue Type: Bug
          Components: JSF Integration
    Affects Versions: 2.3.0.BETA1
         Environment: JBoss AS 7.1.1.Final + RichFaces.4.2.0.Final + Seam 2.3.0.Beta1
            Reporter: Andrea Martino


An seam annotated JSF validator does not behave as it should when used within a JPDL navigation.

For example, the following JSF form should go to the second page in the pageflow after "conversationTest.success()" method is executed. If the "myValidator" is annotated using @FacesValidator, everything is fine. Otherwise, if it is validated using seam tags, the framework starts a new conversation after the button is clicked.

{code:xml:title=form.xhtml}
<h:form>
    <div>
        <h:inputText id="textInput" value="#{conversationTest.text}">
            <f:validator validatorId="myValidator"/>  
        </h:inputText>
    </div>
    <h:commandButton action="#{conversationTest.success}" value="Success" />
</h:form>
{code} 

If the validator is annotated as following, everything is fine:
{code:title=MyValidator.java}
package com.example.validator;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

@javax.faces.validator.FacesValidator("myValidator")
public class FacesValidator implements javax.faces.validator.Validator{
	
	public void validate(FacesContext facesContext, UIComponent uIComponent, Object bDate) throws ValidatorException {
		// empty method. Don't do anything
	}
}
{code}

Othewise, it the validator is annotated as following the JPDL annotation is broken:
{code:title=MyValidator.java}
package com.example.validator;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.faces.Validator;
import org.jboss.seam.annotations.intercept.BypassInterceptors;

@Name("myValidator")
@BypassInterceptors
@Scope(ScopeType.STATELESS)
@Validator
public class SeamValidator implements javax.faces.validator.Validator{
    
    public void validate(FacesContext facesContext, UIComponent uIComponent, Object bDate) throws ValidatorException {
		// empty method. Don't do anything
    }
}
{code}

This issue is probably related to JBSEAM-4944

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list