using FastEndpoints; using FluentValidation; using MetaCourse.Api.DTOs.Users; namespace MetaCourse.Api.Validators.Users; public class RegisterUserDtoValidator : Validator { public RegisterUserDtoValidator() { RuleFor(x => x.Name) .NotEmpty().WithMessage("Le nom est requis.") .MinimumLength(2).WithMessage("Le nom doit contenir au moins 2 caractères.") .MaximumLength(100).WithMessage("Le nom ne peut pas dépasser 100 caractères."); RuleFor(x => x.Email) .NotEmpty().WithMessage("L'email est requis.") .EmailAddress().WithMessage("Le format de l'email est invalide.") .MaximumLength(255).WithMessage("L'email ne peut pas dépasser 255 caractères."); RuleFor(x => x.Password) .NotEmpty().WithMessage("Le mot de passe est requis.") .MinimumLength(8).WithMessage("Le mot de passe doit contenir au moins 8 caractères.") .Matches(@"[A-Z]").WithMessage("Le mot de passe doit contenir au moins une majuscule.") .Matches(@"[0-9]").WithMessage("Le mot de passe doit contenir au moins un chiffre."); } }