Я пишу приложение .NET MVC и использую ненавязчивую проверку для очистки входных данных моего клиента на основе аннотаций данных в моей модели.У меня есть ввод, который я не хочу допускать в HTML-теги, и хотел бы отображать пользовательское сообщение об ошибке, если введен HTML-тег.Поэтому я создал аннотацию данных с пользовательским выражением регулярного выражения, чтобы охватить эти условия, например так:
[Required(ErrorMessage = "You must provide a First Name.")]
[RegularExpression(@"<[a-z][\s\S]*>", ErrorMessage = "Invalid character")]
[DisplayName("First Name")]
public string FirstName { get; set; }
Проблема в том, что независимо от того, какой символ, будь то <test>
илиbe abc
приведет к появлению сообщения Invalid Character
.Обязательный атрибут работает нормально, и если я попробую простое регулярное выражение, например:
[RegularExpression("[a-z]", ErrorMessage = "Invalid character")]
Это работает на 100%, как и ожидалось, что заставляет меня полагать, что мое регулярное выражение неверно, но я знаю, что оно работает для проверки HTML какЯ могу доказать это с помощью онлайн-инструментов.Что я делаю не так?