using FluentValidation; using MealPlan.Api.DTOs.Auth; namespace MealPlan.Api.Validators; public class RegisterRequestValidator : AbstractValidator { public RegisterRequestValidator() { RuleFor(x => x.Email) .NotEmpty() .EmailAddress() .MaximumLength(256); RuleFor(x => x.UserName) .MaximumLength(256) .When(x => !string.IsNullOrWhiteSpace(x.UserName)); RuleFor(x => x.Password) .NotEmpty() .MinimumLength(8) .MaximumLength(256) .Matches(@"[A-Z]").WithMessage("Password must contain at least one uppercase letter.") .Matches(@"[a-z]").WithMessage("Password must contain at least one lowercase letter.") .Matches(@"[0-9]").WithMessage("Password must contain at least one digit."); } }