</>
Plan du cours — 32/46

FluentValidation — validation de données

Intermédiaire

Une syntaxe fluide pour valider des DTOs, plus lisible et testable que des if en cascade.

dotnet add package FluentValidation.AspNetCore
public class CreerUtilisateurValidator : AbstractValidator<CreerUtilisateurDto>
{
    public CreerUtilisateurValidator()
    {
        RuleFor(x => x.Nom).NotEmpty().MaximumLength(100);
        RuleFor(x => x.Email).NotEmpty().EmailAddress();
        RuleFor(x => x.Age).InclusiveBetween(0, 120);
    }
}

// Utilisation manuelle
var validator = new CreerUtilisateurValidator();
var resultat = validator.Validate(dto);
if (!resultat.IsValid)
{
    foreach (var erreur in resultat.Errors)
        Console.WriteLine(erreur.ErrorMessage);
}