asp.net Проверка формы MVC в JavaScript

У меня есть страница с формой Ajax. Когда я нажимаю на кнопку отправки, он должен загрузить загрузочный GIF. Смотрите следующий HTML и JavaScript:

@using (Ajax.BeginForm ("ActionName", "ControllerName", null, new AjaxOptions {HttpMethod = "POST", UpdateTargetId = "DivToUpdate"}, new {id = "myForm"})) {@ Html.AntiForgeryToken ();

@Html.LabelFor(model => model.PagerSize)
    @Html.EditorFor(model => model.PagerSize, new { htmlAttributes = new { @class = "form-control myForm", style = "width:100px" } })
    @Html.ValidationMessageFor(model => model.PagerSize)

<input id = "ajaxFormSubmitButton" type = "submit" />
}

<script>
$("#myForm").submit(function (event) {

           DisplayLoading();

       });

</script>

Работает нормально, пока моя модель не действительна. Например, когда размер моего пейджера находится за пределами моего диапазона, он продолжает отображать мой загрузочный GIF, поскольку страница больше ничего не загружает. Можно ли загрузить DisplayLoading только тогда, когда мой ModelState.IsValid?

Например что-то вроде этого:

<script>
$("#myForm").submit(function (event) {
If (MyMagicVariableWhichKnowsMyModelStateIsValid){
           DisplayLoading();
}
       });

</script>

1 ответ

Решение

Вы можете проверить форму действительна, как показано ниже:

$("#myForm").submit(function (event) {
if ($("#myForm").valid()){
       DisplayLoading();
}
});
Другие вопросы по тегам