ChangePasswordRequestValidator.cs 997 B

1234567891011121314151617181920212223242526272829303132
  1. using FluentValidation;
  2. using WebApp.Common.Resources;
  3. using WebApp.Models.Request.Accounts;
  4. namespace WebApp.Models.Validators;
  5. public class ChangePasswordRequestValidator : AbstractValidator<ChangePasswordRequestModel>
  6. {
  7. public ChangePasswordRequestValidator()
  8. {
  9. RuleFor(x => x.Password)
  10. .NotEmpty()
  11. .WithMessage(Messages.EmptyRequiredField);
  12. RuleFor(x => x.Password)
  13. .Length(6, 20)
  14. .WithMessage(Messages.InvalidLengthRange);
  15. RuleFor(x => x.ConfirmPassword)
  16. .NotEmpty()
  17. .WithMessage(Messages.EmptyRequiredField);
  18. RuleFor(x => x.ConfirmPassword)
  19. .Length(6, 20)
  20. .WithMessage(Messages.InvalidLengthRange);
  21. RuleFor(x => x)
  22. .Must(x => x.Password.Equals(x.ConfirmPassword)).WithName("Password")
  23. .When(x => x.Password is not null && x.ConfirmPassword is not null)
  24. .WithMessage(Messages.PasswordMismatch);
  25. }
  26. }