28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
using FastEndpoints;
|
|
using FluentValidation;
|
|
using MetaCourse.Api.DTOs.Users;
|
|
|
|
namespace MetaCourse.Api.Validators.Users;
|
|
|
|
public class RegisterUserDtoValidator : Validator<RegisterUserDto>
|
|
{
|
|
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.");
|
|
}
|
|
}
|