Validador JSF no funciona

Iniciado por andreslrz, 6 Diciembre 2015, 16:41 PM

0 Miembros y 1 Visitante están viendo este tema.

andreslrz

Hola.

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 (java) [Seleccionar]

<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 (java) [Seleccionar]

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 {
       String userName = (String) value;
       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.