Ai galera, eu criei um validador no JSF 1.2 que eu usava(com as configurações no faces-confog.xml), agora to tentando usa-lo no JSF 2.0 com anotações, mas não estou conseguindo, ele fala que nao encontrou o validador
package devmedia.app6;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
@FacesValidator("devmedia.app6.MyCustomValidator")
public class MyCustomValidator implements Validator{
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
if ("fabio".equalsIgnoreCase(value.toString()))
{
System.out.println("Very good, The name is"+value+" the component is"+component+" / "+context);
FacesMessage msg = new FacesMessage();
msg.setSeverity(FacesMessage.SEVERITY_FATAL);
msg.setSummary("Hey, Fabio is not allowed");
throw new ValidatorException(msg);
}
try
{
Integer.parseInt(value.toString());
}
catch(Exception erro)
{
FacesMessage msg = new FacesMessage();
msg.setSeverity(FacesMessage.SEVERITY_FATAL);
msg.setSummary("Hey, this is not a number");
throw new ValidatorException(msg);
}
Pattern mask = Pattern.compile("[0-6]{2}");
Matcher matcher = mask.matcher(value.toString());
if (!matcher.matches())
{
FacesMessage msg = new FacesMessage();
msg.setSeverity(FacesMessage.SEVERITY_FATAL);
msg.setSummary("Hey, invalid number");
throw new ValidatorException(msg);
}
}
}
alguém sabe me dizer o que está faltando, pois quando ele estava mapeado no face-config.xml ele funcionava normalmente
ai esta a pagina xhtml que exibe ele
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head><title>JSF 2.0: Blank Starting-Point Project</title>
</h:head>
<h:body>
<div align="center">
<h1>Welcome 3</h1>
<f:view>
<h:outputText value="My Custom Validator"/>
<h:messages/>
<h:form>
<h:inputText required="true" value="#{myNewManagedBean.name}" size="30" >
<f:validator validatorId="devmedia.app6.MyCustomValidator" />
</h:inputText>
<br/>
<h:commandButton action="welcomeJSF6" value="Refresh"/>
</h:form>
</f:view>
</div></h:body></html>