primefaces tiene un tag que es p:messages en el parametro showDetails es para que se muestren los detalles, closable es para que podamos cerrar el mensaje
<p:messages id="msjgral" showDetail="true" autoUpdate="true" closable="true"/> asi que nuestro formulario quedaria asi:
<h:form id="frmRegisterUser">
<p:messages id="msjgral" showDetail="true" autoUpdate="true" closable="true"/>
<h:panelGrid columns="2">
<h:outputText value="Nombre"/>
<p:inputText id="txtName" value="#{managedBeanUser.getUser().nombres}"/>
<h:outputText value="Apellido Paterno"/>
<p:inputText id="txtAp" value="#{managedBeanUser.getUser().ap}"/>
<h:outputText value="Apellido Materno" />
<p:inputText id="txtAm" value="#{managedBeanUser.getUser().am}"/>
<h:outputText value="Usuario" />
<p:inputText id="txtUser" value="#{managedBeanUser.getLogin().user}"/>
<h:outputText value="Contraseña" />
<p:password id="txtPass" value="#{managedBeanUser.getLogin().pass}"/>
<h:outputText value="Confirmar Contraseña" />
<p:password id="txtPassConfirm" value="#{managedBeanUser.confirPassword}"/>
<h:outputText value="E-Mail"/>
<p:inputText id="txtEmail" value="#{managedBeanUser.getUser().email}" size="39"/>
<h:outputText value="Direccion"/>
<p:inputText id="txtDireccion" value="#{managedBeanUser.getUser().direccion}" size="49"/>
<h:outputText value="Fecha de nacimiento"/>
<p:calendar value="#{managedBeanUser.getUser().fechaNacimiento}"/>
<h:outputText value="Sexo"/>
<p:selectOneRadio id="radSex" value="#{managedBeanUser.getUser().sexo}">
<f:selectItem itemLabel="Hombre" itemValue="H"/>
<f:selectItem itemLabel="Mujer" itemValue="M"/>
</p:selectOneRadio>
<p:commandButton id="btn1" value="Registrar" action="#{managedBeanUser.registerUser()}"/>
</h:panelGrid>
</h:form>
Ahora modificaremos de nuevo nuestro managedBean y quedaria de la siguiente forma:
public String registerUser() throws Exception {
/*haremos la validacion de que el password sea el mismo a la hora de confirmarlo con una condicional podremos realizarlo*/
if(!login.getPass().equals(confirPassword)){
/*leer el contexto como msj y poder lanzarlo a la vista FacesMessage(FacesMessage.tipo de msj, titulo, msj)*/
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error", "Error de coincidencia de Password"));
return "/User/RegisterUser";
}
/*se agregar a la variable pass de la clase login el pass encriptado*/
login.setPass(Encrypting.encrypting(login.getPass()));
usersDAO daoUsers = new usersDAO();
daoUsers.registerUsers(this.user);
loginDAO daoLogin = new loginDAO();
daoLogin.registerLogin(login);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Exito", "Datos insertados Exitosamente"));
return "/User/RegisterUser";
}
con esto obtendremos 2 tipos de mensajes uno como error y otro como informacion o exito
No hay comentarios:
Publicar un comentario