Я бы хотел перехватить символ "<" в поле формы с помощью валидатора регулярных выражений. Я опишу проблему в 3 этапа: </p>
Шаг 1 : Когда я пытаюсь отправить форму с полем, содержащим символ «<», я получаю «Потенциально опасный запрос ...» - как и ожидалось в ASP.NET. </p>
Шаг 2 : Чтобы избежать RequestValidation ASP.NET, я украшаю свой метод Update в контроллере с помощью «[ValidateInput (false)]».
Работает как положено - теперь я могу публиковать символ "<" без ошибок. </p>
Шаг 3 : я использую xVal с аннотациями данных. Например, [Обязательный] или [StringLength (255)] работает должным образом.
НО, когда я использую:
[RegularExpression ("^ [^ <>] * $", ErrorMessage = "Специальные символы недопустимы.")], Я снова получаю ошибку "Потенциально опасный запрос ..." , несмотря на директиву [ValidateInput (false)].
Что происходит? Есть ли более простой способ проверки регулярных выражений, но с [ValidateInput (false)] на месте? Конечно, я хотел бы, чтобы мой код проверки был в модели, а не в контроллере.