FluentValidation — validation de données
IntermédiaireUne 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);
}