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