You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.2 KiB

1 year ago
  1. namespace Business.KftcPasswordRule
  2. {
  3. /// <summary>
  4. /// </summary>
  5. public class PasswordAsEmailRule : PasswordRule
  6. {
  7. /// <summary>
  8. /// </summary>
  9. /// <param name="model"></param>
  10. /// <returns></returns>
  11. public PasswordValidationResult Validate(ValidationModel model)
  12. {
  13. if (model == null)
  14. {
  15. return new PasswordValidationResult { IsValid = false, Message = "invalid password." };
  16. }
  17. if (string.IsNullOrEmpty(model.Password) || string.IsNullOrEmpty(model.Email))
  18. {
  19. return new PasswordValidationResult { IsValid = false, Message = "invalid password." };
  20. }
  21. var emailArr = model.Email.Split('@');
  22. if (emailArr.Length > 1)
  23. {
  24. if (model.Password.ToLower().Contains(emailArr[0].ToLower()))
  25. {
  26. return new PasswordValidationResult { IsValid = false, Message = "Password can not be same as email!" };
  27. }
  28. }
  29. return new PasswordValidationResult { IsValid = true, Message = "valid" };
  30. }
  31. }
  32. }