我的MVC表单上有一个提交按钮(启用了不显眼的验证),其中包含取消类:
<input type="submit" name="Go back" value="1" class="cancel" />
cancel
类允许表单POST,即使输入字段有验证错误。但是,只要单击该按钮,就会显示验证错误消息,并且在服务器完成往返并且页面重新显示之前保持可见。
我是否遗漏了MVC,或者如果提交元素具有&#34;取消&#34;类?
答案 0 :(得分:0)
Disable client-side validation in MVC 3 "cancel" submit button
人们似乎有弹出验证问题,有人在评论中说它不适用于MVC4和MVC5。
Personnaly,il会建议您自己在表单提交事件中控制此行为,并使用ajax发布表单。
$("MyForm").submit(function( event ) {
event.preventDefault(); //prevent the default submit
if (!$(this).find("input[type=submit]").hasClass("cancel"))
{
if (!$("form").validate())
{
return false;
}
}
$.ajax({
type: "POST",
url: url,
data: $("MyForm").serialize(), // serializes the form's elements.
success: function(data)
{
//do something
}
});
});
我不确定这会阻止验证弹出提交按钮单击。
另一个解决方案是将提交按钮更改为普通按钮,并自行控制表单的验证和提交。