Мне интересно, как лучше всего сообщать браузеру об ошибках состояния приложения или модели, которые будут отображаться пользователю. Можете ли вы сгенерировать исключение и обработать его в обработчике ошибок поста jquery? Например, рассмотрим этот метод:
[HandlerErrorWithAjaxFilter, HttpPost]
public ActionResult RetrievePassword(string email)
{
User user = _userRepository.GetByEmail(email);
if (user == null)
throw new ClientException("The email you entered does not exist in our system. Please enter the email address you used to sign up.");
string randomString = SecurityHelper.GenerateRandomString();
user.Password = SecurityHelper.GetMD5Bytes(randomString);
_userRepository.Save();
EmailHelper.SendPasswordByEmail(randomString);
if (Request.IsAjaxRequest())
return Json(new JsonAuth { Success = true, Message = "Your password was reset successfully. We've emailed you your new password.", ReturnUrl = "/Home/" });
else
return View();
}
Правильно ли создавать исключение в этом случае, когда пользователь имеет значение null? Или я должен вместо этого сделать это и обработать это в обработчике успеха поста jquery:
return Json(new JsonAuth { Success = false, Message = "The email you entered does not exist in our system. Please enter the email address you used to sign up.", ReturnUrl = "/Home/" });