Я хотел бы обработать HttpRequestValidationExceptions (например, когда html вставлен в поля формы) и вернуть пользователя обратно на страницу после отправки с существенной ошибкой, чтобы выделить проблему.
Например, на странице входа в систему, если пользователь вводит недопустимые символы в поле имени пользователя, я хотел бы перехватить исключение HttpRequestValidationException и вернуть пользователя на страницу входа с выделенным полем имени пользователя. .
Я могу уловить ошибку в классе, унаследованном от HandleErrorAttribute с использованием метода OnException .
Есть ли способ отсюда (или любым другим способом), что я могу заставить Controller * ModelState * добавить ошибку?
Примечание. Я не хочу отключать проверку или перенаправлять на страницу с ошибкой.
например:.
public override void OnException(ExceptionContext filterContext)
{
if (filterContext.Exception is HttpRequestValidationException)
{
ModelStateDictionary ModelState = <...>
ModelState.AddModelError("Error", "Invalid chars");
filterContext.HttpContext.Response
filterContext.ExceptionHandled = true;
HttpContextBase HttpContext = filterContext.HttpContext;
HttpContext.Response.Redirect(HttpContext.Request.Path);
return;
}
}
Заранее благодарим за любую помощь, которую вы можете мне оказать!