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.

...

Bloc de code
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>4.0.2.GA</version>
		</dependency>
Intégration Hibernate

...

Exemple de contraintes :

  • @AssertFalse : doit être faux
  • @AssertTrue : doit être vrai
  • @DecimalMax : doit être un nombre inférieur ou égal à la valeur indiquée (représentation String d'un BigDecimal)
  • @DecimalMin : doit être un nombre supérieur ou égal à la valeur indiquée (représentation String d'un BigDecimal)
  • @Digits(integer=, fraction=) : doit être un chiffre (pour BigDecimal, BigInteger, String, byte, short, int, long)
  • @Future : doit être une date dans le future
  • Max : doit être un nombre inférieur ou égal à la valeur indiquée
  • @Min : doit être un nombre supérieur ou égal à la valeur indiquée
  • @NotNull : ne doit pas être null
  • @Null : doit être null
  • @Past : doit être une date dans le passé
  • @Size(min=, max=) : doit avoir une taille comprise entre min et max (pour String et tableaux)
  • @Pattern(regex=, flag=) : doit respecter la regex indiquée
  • @Valid : doit être valide (pour un objet propriété d'un autre)
Intégration Hibernate

http://www.hibernate.org/subprojects/validator.html
Implémentation hibernate validator intègre la validation du bean au niveau de la persistance.
elle propose quelques contraintes supplémentaires à celles de la spécifictation JSR 303 comme :

  • @CreditCardNumber : doit être un numéro de carte bleue
  • @Email : doit être un e-mail
  • @Length(min=, max=) : doit avoir un taille comprise entre min et max (taille de la colonne en base sera max)
  • @NotBlank : ne doit pas être null ou vide ou composée d'espace (pour une chaîne)
  • @NotEmpty : ne doit pas être null ou vide
  • @URL(protocol=, host=, port=) : doit être une URL
  • @Range(min=, max=) : doit avoir une valeur comprise entre Min et Max
Intégration JSF

JSF 2 intègre par défaut la validation des beans (JSR 303)
http://www.mastertheboss.com/web-interfaces/293-jsf-validation-tutorial.html?start=2
Dès lors, les pages JSF n'ont plus besoin de contenir les information de validation du bean. Lorsque une validation de contrainte échoue, les messages d'erreur associés sont automatiquement traduits en FacesMessage par l'implementation JSF.

...