Если вы используете аннотации данных MVC для проверки вашей модели, то у контроллера будет свойство с именем ModelState (typeof (ModelStateDictionary) , которое в качестве свойства IsValid
определяет, передана ли ваша модель в контроллер / Действие допустимо.
С помощью IsValid
вы можете вернуть объект Json, который может сообщить вашему Javascript, что делать дальше.
Обновление
Вот действительно простой пример (ИСПОЛЬЗУЕТ jQuery):
[SomeController.cs]
public class SomeController : Controller
{
public ActionResult ShowForm()
{
return View();
}
public ActionResult ValidateForm(MyFormModel FormModel)
{
FormValidationResults result = new FormValidationResults();
result.IsValid = ModelState.IsValid;
if (result.IsValid)
{
result.RedirectToUrl = "/Controller/Action";
}
this.Json(result);
}
}
[FormValidationResult.cs]
public class FormValidationResults
{
public bool IsValid { get; set; }
public string RedirectToUrl { get; set; }
}
[View.js]
$(document).ready(function()
{
$("#button").click(function()
{
var form = $("#myForm");
$.ajax(
{
url: '/Some/ValidateForm',
type: 'POST',
data: form.serialize(),
success: function(jsonResult)
{
if (jsonResult.IsValid)
{
window.location = jsonResult.RedirectToUrl;
}
}
});
});
});