validator validate password form ejemplo custom validation jsf button jsf-2

validation - validate - ¿Cómo saltarse la validación cuando se hace clic en un botón específico?



validate email jsf (1)

En caso de que no esté usando ajax, o aún esté en JSF 1.x, y realmente necesite invocar una acción comercial en el método de cancel() (es decir, simplemente recargar la página no es suficiente), entonces su mejor opción es agregar de immediate="true" al botón. De esta forma, todos los campos de entrada que no tengan immediate="true" se omitirán en el procesamiento.

<h:commandButton value="Cancel" action="#{bean.cancel}" immediate="true" />

En JSF 2.x, mucho mejor es enviar el formulario por <f:ajax> , que de forma predeterminada solo procesa @this lugar de @form .

<h:commandButton value="Cancel" action="#{bean.cancel}"> <f:ajax /> </h:commandButton>

Si desea navegar a otra página aquí, agregue ?faces-redirect=true al resultado en el método cancel() .

O bien, si realmente no necesita invocar ninguna acción comercial, simplemente use <h:button> en donde especifica directamente el resultado (implícito) del caso de navegación.

<h:button value="Cancel" outcome="previouspage" />

Esto básicamente recargará la página mediante una solicitud GET. El <h:button> no existe en JSF 1.x, pero también puedes usar HTML + JS simple para eso.

Ver también:

Tengo un formulario con un validador en un campo. Tengo dos h:commandButton s: Ok y Cancelar. Cuando llevo datos incorrectos y hago clic en Cancelar obtengo un mensaje de validación. ¿Qué debo hacer para que el validador no se ejecute cuando hago clic en cancelar?