0

ТребованияКак можно использовать несколько выражений регулярных выражений с различными сообщениями проверок

Я хочу, чтобы проверить политику паролей с помощью нескольких регулярных выражений выражений. Для каждого нарушения правил я хочу отобразить конкретное сообщение проверки.

Примеры:

  • Вы должны использовать цифры по крайней мере 2
  • Вы должны использовать, по крайней мере, один верхний и один строчной буквы
  • Вы должны использовать как минимум 8 символов
  • ...

Покушение

Я попытался использовать несколько выражений регулярных выражений (Fluent Validation Match(string expression)), но ASP.NET MVC не позволяет иметь несколько выражений регулярных выражений.

Следующий тип проверки был замечен несколько раз: регулярное выражение

Вопрос

Как я могу использовать несколько регулярных выражений валидаторы в Fluent Validation?

ответ

2

Вы можете использовать специальный метод, определенный в абстрактном валидатора:

public class UserValidator : AbstractValidator<User> { 
    public UserValidator() { 
     Custom(user => { 
      Regex r1 = define regex that validates that there are at least 2 numbers 
      Regex r2 = define regex for upper and lower case letters 
      string message = string.Empty; 
      if(!r1.IsMatch(user.password)) 
      { 
       message += "You need to use at least 2 numbers."; 
      } 
      if(!r2.IsMatch(user.password)) 
      { 
       message += "You need to use at least one upper and one lower case letter."; 
      } 

      return message != string.Empty; 
       ? new ValidationFailure("Password", message) 
       : null; 
     }); 
    } 
} 
Смежные вопросы