通过关注this,我得到了ModelState.IsValid
ins jquery代码。但它总是如此,我可以在我的页面上看到错误。
我想要实现的是在提交表单时显示加载。我使用了onclick
提交事件。即使页面上存在验证错误,它也会显示加载。我不想在这种情况下显示加载。我也尝试使用Form
的{{1}}事件但结果相同。
我的Submit
正在使用ViewModel
进行验证,表单处于局部视图中。任何建议如何成功实现此加载消息?
这是我的表格
DataAnnotations
答案 0 :(得分:3)
即使页面上存在验证错误,也会显示加载。在这种情况下,我不想要节目加载。
添加此事件处理程序:
$("#frmFlightSearch").bind("invalid-form.validate", function () {
// hide 'loading'
});
这会在您的客户端验证失败时触发,并且您可以隐藏您为了“加载”而显示的内容。进展。
如果客户端验证失败,那么它无论如何都不会发布(使用asp.net mvc + jquery验证)。
答案 1 :(得分:0)
如果您使用部分视图使用ajax调用加载表单,则成功回调执行以下操作:
$.ajax({
success: function(data){
$('#DivId').html(data);
$.validator.unobtrusive.parse($("#FormId"));
}
});
这将解析您的表单的验证,当您单击提交并且模型无效时,您的表单将显示验证消息。
希望得到这个帮助。
编辑:
正如您在点击时所说,您需要检查以下代码行:
if($('#FormId).Valid())
{
$('#Loader').show(); //show loader if form is valid.
}
else
{
e.preventDefault(); // prevent default event if form is not valid.
}