asp.net javascript 中的 MVC 表单验证

asp.net MVC form validation in 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,因为该页面没有加载任何其他内容。是否可以仅在我的 ModelState.IsValid 时加载 DisplayLoading?

例如这样的事情:

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

</script>

您可以检查表格是否有效,如下所示:

$("#myForm").submit(function (event) {
if ($("#myForm").valid()){
       DisplayLoading();
}
});