У меня есть простые действия ASP.NET MVC, подобные этому:
public ActionResult Edit(EditPostViewModel data)
{
}
 EditPostViewModel имеют атрибуты проверки следующим образом:
[Display(Name = "...", Description = "...")]
[StringLength(100, MinimumLength = 3, ErrorMessage = "...")]
[Required()]
public string Title { get; set; }
В представлении я использую следующие помощники:
 @Html.LabelFor(Model => Model.EditPostViewModel.Title, true)
 @Html.TextBoxFor(Model => Model.EditPostViewModel.Title, 
                        new { @class = "tb1", @Style = "width:400px;" })
Если я сделаю отправку в форме, которую это текстовое поле помещает в валидацию, будет выполняться сначала на клиенте, а затем на службе (ModelState.IsValid).
Теперь у меня есть несколько вопросов:
-  
Может ли это использоваться вместо jQuery ajax submit? Я просто удаляю форму и при нажатии кнопки отправки javascript собирает данные, а затем запускает
$.ajax. -  
Работает ли серверная сторона
ModelState.IsValid? -  
Как я могу перенаправить проблему проверки назад клиенту и представить его, как если бы я использовал проверку целостности сборки (
@Html.ValidationSummary(true))? 
Пример вызова Ajax:
function SendPost(actionPath) {
    $.ajax({
        url: actionPath,
        type: 'POST',
        dataType: 'json',
        data:
        {
            Text: $('#EditPostViewModel_Text').val(),
            Title: $('#EditPostViewModel_Title').val() 
        },
        success: function (data) {
            alert('success');
        },
        error: function () {
            alert('error');
        }
    });
}
Изменить 1:
Включено на странице:
<script src="/Scripts/jquery-1.7.1.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>