Validación

Validación en ataStore

Validación

Introducción

Es importante validar que los datos que se introducen en nuestra aplicación son correctos. Para ello, disponemos mecanismos de validación en el cliente y en el servidor.

La validación en el cliente mejora la usabilidad de las páginas y da una respuesta rápida al usuario sobre la corrección de los datos introducidos.

La validación en el servidor nos proporciona seguridad ante posibles ataques por inyección de código

JSR-303

La especificación JSR-303 nos da una sintaxis estándar para validar en Java basada en anotaciones.

Por ejemplo, podemos usar la anotación @Size en una clase Java para denotar que una cadena debe tener determinada longitud así:

    public class Product {
        @Size(min=5, max=10)
        private String description;
    ...
    }

Validación en el servidor

La validación en el servidor la conseguimos gracias a la librería Hibernate-validator, implementación de referencia del JSR-303, que está integrada a través del framework SpringMVC

Para que SpringMVC valide una clase java (de acuerdo con las anotaciones que hemos puesto en dicha clase), añadiremos la anotación @Valid en el controller que la recoge. Por ejemplo:

    @Controller
    public class ProductController {
        ...
        public String save(@Valid Product product) {
            ...
        }
        ...
    }

Validación en el cliente

La validación en el cliente la conseguimos gracias a la librería de javascript jquery-validation-plugin

Cuando tengamos un formulario que recoge datos para rellenar una clase java (con anotaciones de validación) basta añadir el atributo jquery:validate="${objeto}" al formulario para que se genere el código javascript que gestiona la validación, donde objeto debe ser una instancia de la clase objetivo.

Un ejemplo sería el siguiente:

    

La clase que genera dicho código javascript es com.atotarreu.util.dialect.jquery.ValidateAttrProcessor

Nota: aunque se ha implementado el grueso de la validación en el cliente, sólo se ha implementado algunas anotaciones. Iremos implementado el resto de anotaciones conforme vayamos necesitándolas.

Nota: aunque el plugin de validación de jQuery viene con muy pocas reglas de valicación, hay otro archivo llamado additional-methods.js que contiene bastantes más reglas.

 


Volver