我的 ASP.NET MVC4 应用程序有一个在模型中定义并在控制器方法中实现的远程验证规则。我的表单是动态添加到页面中的。所以,我使用下面的代码来触发验证。
$(tabId).on("submit", formId, function (event) {
event.preventDefault();
var form = $(this);
form.removeData("validator");
$.validator.unobtrusive.parse(form);
if (form.valid())
{
// form submission
// THIS part executes even though the remote validation returns false
}
return false;
});
它开始远程验证,不等待完成,然后提交表单。如果任何其他字段无效(例如,名称是必填字段),则会停止提交。但是,它不会等待远程验证。
我在 SO 上找到了一些解决方法,例如link1和link2。但是,这些只有在我的页面中定义了 jQuery 验证规则时才有效。但是,我使用的是 MVC4 模型验证规则。因此,我没有兴趣再次重新定义我的视图页面中的规则。
有什么想法可以解决吗?