Projets
Pages enfant
  • 1.9.3 Ecriture des formulaires

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Validation au niveau des beans (JSR 303)

http://www.jmdoudoux.fr/java/dej/chap-validation_donnees.htm
http://musingsofaprogrammingaddict.blogspot.com/2009/01/getting-started-with-jsr-303-beans.html
http://www.touilleur-express.fr/2008/06/06/jsr-303-vous-avez-valide-votre-bean/
http://www.openscope.net/2010/02/08/spring-mvc-3-0-and-jsr-303-aka-javax-validation

Au cours du développement d'une application web on constate la nécessité de valider les objets manipulés à différents niveau :

  • Couche métier (au moment de la validation d'un formulaire)
  • Dans la couche domaine
  • Au niveau du mapping objet-base
  • Dans la base (Contrainte sur les colonnes)

On en vient souvent à dupliquer les contraintes à chaque niveau et de façon pas toujours cohérentes (ex: on limite un champs à 50 caractères dans un formulaire alors que la colonne correspondante en base est un varchar(100)

Pour répondre à cela la JSR 303 propose une spécification standard pour la validation des beans.
On utilisera alors les annotations introduites en Java 5 pour exprimer les contraintes sur le bean.

Exemple :

Bloc de code

package org.esupportail.example.web.beans;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class UserBean{
	/**
	 * Id of the user.
	 */
	@NotNull
	private String id;
	
        /**
	 * Display Name of the user.
	 */
	@Size(max = 10, min = 1)
        private String displayName;
	
	 
[...]
}

Mise à jour de propriétés par les formulaires (updateActionlistener)

...