El framework de Struts2 proprociona facilidades de validación de los campos de un formulario en el lado del servidor (ojo que no es JavaScript que corre en el navegador).
El framework hace uso de dos Interfaces (implementadas por la clase ActionSupport) :
- Validateable : que contiene un único método cuya firma es void validate(). La clase ActionSupport contiene una implementación por defecto que permite validar mediante configuraciones basadas en XML o en anotaciones.
- ValidationAware: proporciona un grupo de métodos usados para recolectar mensajes de error relacionados a campos del formulario o propiedades de la clase Action en general. Tambien se emplea para recolectar mensajes informativos y determinar si se presentan errores.
Las dos interfaces colaboran dentro del workflow de Struts2, específicamente en el stack de interceptores: interceptor “validation” e interceptor “workflow”.
Si la validación es satisfactoria, se ejecuta el método respectivo de la clase Action invocada. En caso que la validación falle, se retorna el resultado denominado “input”.
Si no se define el resultado para “input”, el framework genera un error durante la ejecución.
En esta sesión veremos 3 formas de validar:
- Manualmente : implementando el código en el método "validate" dentro del Action.
- Usando XML : asociando cada Action con su archivo de validación XML.
- Generando validadores personalizados.
Existe un forma adicional que es utilizando "anotaciones".
Material de la sesión:
- Descarga el PDF aquí.
- Descarga la aplicación completa aquí. La aplicación debe funcionar tanto en Apache Tomcat como en IBM WAS sin mayor problema ( y no como sucedió en los labs ... mil disculpas por ello y veremos la forma de solucionarlo ).
Si deseas profundizar en el tema, por favor revisa la bibilografía recomendada en un post anterior.
Gracias por la clase en pdf, profesor deberia poner también el struts.xml para entender como sucede la validacion en esa parte. Creo que algunos ejemplos con xml y en especial regex serian bastante útiles.
ResponderEliminarSaludos
Lo del examen me pasó por no revisar nada.
ResponderEliminar