Estoy haciendo un validor personalizado en jsf, he seguido varios tutoriales y ejemplos pero a mi nada me funciona, he puesto en varios foros y en uno me repondienron que era un error tipografico, pero no dijeron cual.
Dejo el codigo:
Código
<h:form styleClass="form-horizontal"> <div class="col-sm-6 col-sm-offset-9"> <div class="panel panel-primary"> <div class="panel-heading"> Ingreso de Usuarios </div> <div class="panel-body"> <h:outputLabel styleClass="control-label " value="Usuario:" for="inputUserName"/> <h:inputText id="inputUserName" styleClass="form-control input-sm" value="#{login.userName}" required="true"> <f:validator validatorId="ui.userNameValidator" /> </h:inputText> <h:message for="inputUserName" styleClass="aler alert-danger" /> <h:outputLabel styleClass="control-label" value="Contraseña:" for="inputPassword"/> <h:inputSecret id="inputPassword" styleClass="form-control input-sm" value="#{login.password}" required="true"> <f:validator validatorId="ui.passwordValidator" /> </h:inputSecret> <h:message for="inputPassword" styleClass="aler alert-danger" /> </div> <div class="panel-footer"> <h:commandButton class="btn btn-primary pull-right" value="Ingresar"></h:commandButton> <span class="clearfix"></span> </div> </div> </div> </h:form>
Este seria el validador, lo tengo asi para login y contraseña.
Código
import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; 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; /** * * @author Andres */ @ManagedBean @RequestScoped @FacesValidator("ui.userNameValidator") public class UserNameValidator implements Validator { /** * Creates a new instance of UserNameValidator */ public UserNameValidator() { } @Override public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { if(userName == null || "".equals(userName)) { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Usuario invalido", "Ingrese un usuario"); throw new ValidatorException(msg); } } }
lo he puesto asi y tambien he intentado usado el faces-config.xml en ninguno de los dos casos funciona. agradezco si me pueden decir cual es el error, ya llevo 3 dias y no lo encuentro y ya estoy cansado de ver tutoriales.