Есть много очень хороших сообщений и объяснений, как реализовать проверку с помощью ASP.NET MVC, и я предпочитаю одно из них:
Однако мне очень нравится вызывать ActionMethods через метод jquery $ .ajax. Одна из причин, по которой я хочу использовать $ .ajax, заключается в том, что будет много частичных представлений, загружаемых на страницу динамически (даже форма для создания объекта) через вызовы $ .ajax, и я не могу просто вернуть представление - Я потеряю весь динамически загружаемый контент.
Чтобы дать вам лучшее представление о проблеме, я опубликую простой код, чтобы объяснить, как я хотел бы вызывать действия контроллеров и обрабатывать ответы в клиенте, код jquery.
Контроллеры ActionMethod:
public ActionResult CreateCustomer(string name, string accountNumber)
{
try
{
CustomerService.InsertCustomer(name, accountNumber);
return Json(new ActionInfo()
{
Success = true,
Message = "Customer Is Successfully Created"
});
}
catch (Exception ex)
{
return Json(new ActionInfo()
{
Success = false,
Message = ex.Message
});
}
}
Вызов и обработка в клиентском коде:
$.ajax({
type: "POST",
url: $form.attr('action'),// /MyController/CreateCustomer
data: $form.serialize(),
error: HandleUnespectedError,
dataType: "json",
success: function(response) {
if (response.Success)
alert("Success: " + response.Message);
else
alert("Error: " + response.Message);
}});
Есть ли хороший способ заставить некоторые из этих платформ проверки работать так, как мне нужно? Я знаю, что могу добавлять ошибки проверки в ActionInfo, а затем обрабатывать их в клиенте, но это уже было бы я полагаю, построение моей единственной проверки.