...
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)
...