Forums Register Login

Issue: commandButton's onsucess attribute not working as expected

+Pie Number of slices to send: Send
Hi,

I'm new to JSF and I'm having the following issue:

I'm writing a page to add a new user to the database. This is what it is supposed to do: let the user fill in the fields, validate entered values and if no errors (by errors I understand wrong values in fields, i.e. a number in a name field, or missing values when required) were found then it should prompt the user asking him whether he or she actually wants to add this info to the database, if yes: proceed and add user to the DB, otherwise, do nothing. The thing is that no matter whether errors were found or not, it always asks the user if he or she wants to add the user to the database, which it should not do if errors were found.

I'm using the commandButton's attribute onsucess to do this, but I'm not sure if this is the intended use for it. It would be nice if any of you could tell me what I'm doing wrong or what I should do instead to achieve what I want.

Here's my code:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition 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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core">

<ui:composition template="./recursos/plantillas/general.xhtml">

<ui:define name="head">
<!--<link href="./recursos/css/formulario_personalizado.css" type="text/css" rel="stylesheet" />-->
<title>Captura de datos personales de usuario</title>
</ui:define>

<ui:define name="top">
<h2>Captura de datos personales de usuario</h2>
</ui:define>

<ui:define name="content">
<h:form>

<p:panel id="panelInfoPersonal" header="Información personal">
<p:messages />
<h:panelGrid columns="3">
<h:outputLabel id="etiquetaNombre" for="entradaNombre" value="Nombre(s):"></h:outputLabel>
<p:inputText id="entradaNombre" required="true" value="#{directorioUsuarios.usuario.nombre}" requiredMessage="Su nombre es requerido"></p:inputText>
<p:message for="entradaNombre"/>

<h: outputLabel id="etiquetaApellidoPaterno" for="entradaApellidoPaterno" value="Apellido paterno:"></h:outputLabel>
<p:inputText id="entradaApellidoPaterno" required="true" value="#{directorioUsuarios.usuario.apellidoPaterno}" requiredMessage="Su apellido paterno es requerido"></p:inputText>
<p:message for="entradaApellidoPaterno" />

<h: outputLabel id="etiquetaApellidoMaterno" for="entradaApellidoMaterno" value="Apellido materno:"></h:outputLabel>
<p:inputText id="entradaApellidoMaterno" required="true" value="#{directorioUsuarios.usuario.apellidoMaterno}" requiredMessage="Su apellido materno es requerido"></p:inputText>
<p:message for="entradaApellidoMaterno" />

<h: outputLabel id="etiquetaFechaNacimiento" for="entradaFechaNacimiento" value="Fecha de nacimiento:"></h:outputLabel>
<p:calendar id="entradaFechaNacimiento" value="#{directorioUsuarios.usuario.fechaNacimiento}" navigator="true" effect="slideDown" yearRange="1900:2000" required="true" requiredMessage="Su fecha de nacimiento es requerida"/>
<p:message for="entradaFechaNacimiento"/>

<h:outputLabel id="etiquetaCorreoElectronico" for="entradaCorreoElectronico" value="Correo electrónico:"></h:outputLabel>
<p:inputText id="entradaCorreoElectronico" required="true" value="#{directorioUsuarios.usuario.correoElectronico}" requiredMessage="Su correo electrónico es requerido">
<f:validator validatorId="mx.udg.sit.utileria.validador.EmailValidator" />
</p:inputText>
<p:message for="entradaCorreoElectronico" />
</h:panelGrid>
<p:commandButton value="Guardar" update="panelInfoPersonal" onsuccess="confirmation.show()" />
</p:panel>

<p:confirmDialog message="Esta seguro que desea agregar a este usuario?"
showEffect="bounce" hideEffect="explode"
header="Agregar nuevo usuario" severity="alert" widgetVar="confirmation">

<p:commandButton value="Sí" update="messages" oncomplete="confirmation.hide()"
actionListener="#{directorioUsuarios.guardaUsuario}" />
<p:commandButton value="No" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>

</h:form>
</ui:define>
<ui:define name="bottom"></ui:define>
</ui:composition>
</html>


Thanks in advance
I love a woman who dresses in stainless steel ... and carries tiny ads:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 2114 times.
Similar Threads
primefaces command button is not working
SelectOneMenu - Validation Error: Value is not valid
Updating a form in primefaces when a selection is made in the datatable
multiple form in xhtml page nad update different controlls on two different forms
Trouble updating primefaces component w/ajax
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 07:28:06.