Validar campos de formularios con JSF

Revisión del 14:33 5 may 2011 de Chuidiang (Discusión | contribuciones) (Página creada con ' == Introducción == Vamos a ver aquí algunas de las posibilidades que nos facilita Java Server Faces (JSF) para validar los campos de un formulario antes de enviarlo. == Val…')

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Revisión del 14:33 5 may 2011 de Chuidiang (Discusión | contribuciones) (Página creada con ' == Introducción == Vamos a ver aquí algunas de las posibilidades que nos facilita Java Server Faces (JSF) para validar los campos de un formulario antes de enviarlo. == Val…')

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Introducción

Vamos a ver aquí algunas de las posibilidades que nos facilita Java Server Faces (JSF) para validar los campos de un formulario antes de enviarlo.

Validators por defecto

JSF viene con algunos validadores habituales de campos. Por ejemplo, si queremos que un número esté dentro de un rango, podemos poner el siguiente código html en nuestro formulario

<h:form>
   <h:inputText id="idNumero2" required="true">
      <f:validateLongRange minimum="-10" maximum="10"></f:validateLongRange>
   </h:inputText>
   <h:commandButton action="bien.xhtml" value="Enviar">
   </h:commandButton>
   <h:message for="idNumero2"></h:message>
</h:form>

Es un formulario. Dentro de él hay un inputText y dentro del inputText un <f:validateLongRange> con un minimum y un maximum. El inputText además tiene required="true", por lo que no se podrá dejar en blanco.

Cuando pulsemos el botón de "Enviar" que hay justo debajo, se validará automáticamente el contenido del campo de texto, tanto que se ha rellenado como que lo introducido es un número entre -10 y 10 (ambos incluives) dando un error en caso contrario.

Si hay error, no se enviaré el formulario y se volverá a mostrar la misma página que lo contiene. El error aparecerá en la etiqueta <h:message>, en la que hemos puesto el atributo for="idNumero2", correpondiente al campo de texto. Cuando se muestre el formulario por primera vez,

Tenemos varios validators disponibles :