Validadores, convertidores y mensajes en JSF 2.0:
Las validaciones sirven para verificar
que los datos introducidos por el usuario sean consistentes de acuerdo a las
reglas de negocio.
Se pueden validar:
- Rangos de números
- Limites
- Largo de cadenas
- Formato de fechas
- Etc
En JSF se pueden realizar distintos
tipos de validaciones:
- Validaciones estándar
- Validaciones en los métodos de los ManagedBean
- Validaciones personalizadas
Hay dos formas de ejecutar
validaciones en nuestros componentes:
- Validación individual por campo
- Validación por campos interdependientes
Para la validación individual podemos:
- Agregar un atributo required al tag JSF
- Agregar un atributo validador al tag JSF
- Agregando un validador como un tag interno
Para las validaciones
interdependientes:
- Se ejecuta la validación dentro del método action del ManagedBean
Mensajes de error:
h:message
- Se usa para mostrar los errores de un componente
h:messages
- Se usa para mostrar varios errores a la vez
Validaciones
estándar:
JSF 2.0 cuenta con las siguientes
validaciones estándar:
Ejemplos:
Validaciones
personalizadas:
En caso de que las
validaciones estándar no cubran nuestras necesidades, podemos recurrir a las
personalizadas, estas se realizan creando una clase que herede la interfaz javax.faces.validator.Validator
y que sobrescriba su método validate(),
después especificad el validatorId usando la anotación @FacesValidator antes del nombre de la clase validadora y por
ultimo agregar a nuestro componente una etiqueta f:validator donde
especifiquemos el validatorId que
creamos.
Implementación en la página JSF del validador creado:
Validaciones en los métodos de los
Mangedbean:
Para usar esta forma de validación
debemos realizar lo siguiente:
- Crear un método validador del tipo validate() de la interfaz Validator en nuestro ManagedBean.
- Usar el atributo validator de nuestro componente de texto llamando el método creado usando EL.
Implementación del método en la página JSF:
Ejemplo de la ejecución:
Datos ya validados:
No hay comentarios.:
Publicar un comentario