Validar un input en JSF
Este es un ejemplo de como validar que un email es correcto. Aunque sólo se mira si se ha escrito el símbolo @, se pueden utilizar también expresiones regulares.
En la página xhtml o jspx:
< div id="loginForm">
                    < h:form id="registerInput">
                        < h:panelGrid width="375px" bgcolor="#e6edfd" columns="2" border="0">
                            < h:commandLink action="#{usuario.haceClickEnLogin}">Login/Registro< /h:commandLink>
                        < /h:panelGrid>
< h:message id="errorEmail" for="error"  errorStyle="color:red"/ >
                    < /h:form>
< /div>
En el BackBean (Sabiendo que tenemos un atributo String email; con su get y set):
public void validaEmail(FacesContext context,
            UIComponent toValidate,
            Object value) {
        String emailIntroducido = (String) value;
        if (!emailIntroducido.contains("@")) {
            FacesMessage message = new FacesMessage();
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            message.setSummary("Email no valido");
            message.setDetail("Email no valido");
            context.addMessage("registerInput:error", message);
        }
    }

