Qu'est-ce que Bean Validation ?
Bean Validation (spécification Jakarta Bean Validation, anciennement JSR 380) est un framework standard pour la validation des données dans les applications Java. Il permet de décrire de manière déclarative les règles de vérification des champs, méthodes et classes à l'aide d'annotations. L'implémentation la plus populaire est Hibernate Validator.
Pourquoi la validation est-elle nécessaire ?
Dans toute application manipulant des saisies utilisateur, il est nécessaire de vérifier les données : une chaîne n'est-elle pas vide, un nombre est-il dans une plage, un email est-il correct. La vérification manuelle avec des if-else rend le code volumineux et difficile à maintenir. Bean Validation résout ce problème en externalisant la logique de validation dans des annotations et en assurant un traitement uniforme des erreurs.
Comment installer
Si vous utilisez Maven, ajoutez dans pom.xml :
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>8.0.1.Final</version></dependency>Pour Gradle :
implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final'Dans Spring Boot, la validation est déjà préinstallée.
Fonctionnalités principales
- Annotations standards : @NotNull, @Size, @Min, @Max, @Email, @Pattern, @Positive, @NotBlank et autres.
- Groupes de validation : permettent d'appliquer différentes règles selon le contexte (par exemple, création vs mise à jour).
- Validateurs personnalisés : vous pouvez créer votre propre annotation et écrire la logique de validation.
- Validation des paramètres de méthode : vérification des arguments et des valeurs de retour.
Exemple de code en Java
import jakarta.validation.constraints.*;import jakarta.validation.*;
public class User { @NotBlank(message = "Le nom ne peut pas être vide") private String name;
@Email(message = "Email invalide") private String email;
@Min(18) @Max(120) private int age;
// getters et setters}
// UtilisationValidatorFactory factory = Validation.buildDefaultValidatorFactory();Validator validator = factory.getValidator();
User user = new User();user.setEmail("invalid");
Set<ConstraintViolation<User>> violations = validator.validate(user);for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage());}Quand l'utiliser
Bean Validation est utilisé dans les API REST (Spring Boot, Jakarta EE), les formulaires web, les objets DTO, ainsi que lors du travail avec des bases de données. Il est indispensable si vous souhaitez garantir l'intégrité des données au niveau du code Java avant leur enregistrement. Il est recommandé pour tous les projets où il y a des saisies utilisateur ou une intégration avec des systèmes externes.
Aussi dans la bibliothèque
Journalisation pour Swift : bibliothèque SwiftyBeaver
Envoi d'email en C++ : libcurl et clients SMTP
Client HTTP pour TypeScript : top bibliothèques pour applications web modernes
gRPC pour C# (.NET) : bibliothèques, configuration et exemples de code
Client Redis pour PHP : Predis — installation, connexion, exemples