【发布时间】:2016-10-05 16:23:24
【问题描述】:
我有简单的 Ajax 表单
@using (Ajax.BeginForm("SignUpForFree", null, new AjaxOptions()
{
InsertionMode = InsertionMode.Replace
}, new { id = "signup-form" }))
{
@Html.LabelFor(m => m.Email)
@Html.TextBoxFor(m => m.Email)
<input type="submit" value="CREATE FREE ACCOUNT" onclick="customSubmit()"/>
}
和 JS 验证表单,如果它无效 - 在消息窗口中显示消息:
<script type="text/javascript">
function customSubmit() {
var form = $("#signup-form");
if (!ValidateForm(form))
return;
$.ajax({
type: 'POST',
url: "@Url.Action("SignUpForFree")",
data: form.serialize()
});
}
</script>
function ValidateForm(form) {
$.validator.unobtrusive.parse(form);
var validator = form.validate();
if (!form.valid()) {
//some code here to display error message
return false;
}
return true;
}
但是当我提交表单时 - 我有 2 次提交,这些都一一发生。 如何防止第二次提交或如何覆盖标准验证流程?
【问题讨论】:
标签: jquery asp.net-mvc validation unobtrusive-validation