如果验证失败,如何停止表单提交

Nic*_*ahn 11 javascript forms model-view-controller jquery

更新:我的问题更多的是 How to prevent the form submit if the validation fails

该链接无法解决我的问题

只是重新迭代我正在做的事情:我有一个带有大量输入字段的表单,当用户点击提交按钮时,required="required"如果表单验证失败则使用属性验证表单然后我想停止提交表单,因为你看到了javascript它会在用户提交表单时显示div.

希望这清除.

结束更新

如果表单验证失败,如何停止表单提交?

<input class="form-control" data-val="true" id="SerialNumber" name="SerialNumber" required="required" type="text">

<button type="submit" name="rsubmit" class="btn btn-success">Submit</button>

 //loading message:
 $("form").submit(function (e) {
     $("#loading").show();
 }); 
Run Code Online (Sandbox Code Playgroud)

Far*_*ide 13

如果验证失败,你需要做两件事,e.preventDefault()并返回false.

对于您的示例,使用给定的输入,伪代码可能是下一个:

$("form").submit(function (e) {
   var validationFailed = false;
   // do your validation here ...
   if (validationFailed) {
      e.preventDefault();
      return false;
   }
}); 
Run Code Online (Sandbox Code Playgroud)


Nic*_*ahn 6

我能解决这个问题:

首先在您的页面上添加引用:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后做这个检查:

        $("form").submit(function () {
            if ($(this).valid()) {  //<<< I was missing this check
                $("#loading").show();
            }
        });
Run Code Online (Sandbox Code Playgroud)