【发布时间】:2013-10-17 10:19:03
【问题描述】:
我的 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 模型验证规则。因此,我没有兴趣再次在我的视图页面中重新定义规则。
有什么解决办法吗?
【问题讨论】:
-
你有没有试过在
if (form.valid())之前打电话给form.validate()? -
是的,我试过
form.validate()。它没有用。 -
@NRocking 你找到解决方案了吗?我正在寻找它的解决方案。
标签: jquery validation asp.net-mvc-4