ASP.Net MVC HttpRequestValidationException - Ошибка Catch и ввод ввода? - PullRequest
0 голосов
/ 10 июня 2011

Я видел несколько сообщений об отключении HttpRequestValidation для контроллеров / действий, чтобы обойти эту ошибку, но я действительно хочу, чтобы она была включена по большей части. Достаточно мало случаев, когда я хочу обойти проверку, которую я хочу обернуть вокруг нее блоком try / catch:

string searchTerm = string.Empty;
try {
    searchTerm = Request.QueryString["q"];
} catch (HttpRequestValidationException ex) {
    // What can I do here to capture the value? Is parsing the error message the only way?
    // Seems like ex.Data property would be a good place for Microsoft to stick values if
    // people wanted to do something with them, but ex.Data is empty.
}

Опять же, это только для определенных полей в формах, поэтому я НЕ хочу отключать проверку для всего контроллера или действия. Мне нужна дополнительная защита для полей, которые я специально не обрабатывал.

1 Ответ

2 голосов
/ 10 июня 2011

Вы проверяли атрибут AllowHTML ?Это может быть именно то, что вам нужно.

public class MyModel
{
    public string ValidatedField {get; set;} // no HTML allowed here!

    [AllowHtml]
    public string NonValidatedField {get; set;} // user can enter HTML
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...