【问题标题】:Jquery Validation All Errors shows in one alert box onlyJquery Validation All Errors 仅显示在一个警告框中
【发布时间】:2023-03-05 21:18:01
【问题描述】:

我有一个表单,可以在其中一个一个地进行 jquery 验证,在警报框中显示错误。

我已要求将所有验证错误消息显示在一个警报框中,用于所有这些必填字段(单个或多个字段),而不是仅重复显示一次警报框。

这可能吗?

示例:

这里!问题

  <form id="myform" action="post">
      <input type="text" name="email" />
      <input type="text" name="name" />
        <input type="submit" />
  </form>
  <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  <script src="  https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function () {
    var allerror="";
      $('#myform').validate({ // Jquery Validation
          onclick: false,
          onkeyup: false,
          rules: {
              email: {
                  required: true,
                  email: true
              },
              name: {
                  required: true,
                  minlength: 5
              }

          },
          messages: {
                         email: {
                                 required: "The Email is required!"
                         },
                         name: {
                                 required: "The name is required!"
                         }
                    },
                    errorPlacement: function (error, element) {
                allerror += error.text();
                                alert(allerror);
                    }
      });
    });
  </script>

【问题讨论】:

    标签: javascript jquery html validation alert


    【解决方案1】:

    使用invalidHandler 代替errorPlacement,如下所示:

      invalidHandler: function(form, validator) {
      var errors = validator.numberOfInvalids();
      if (errors) {
        if (validator.errorList.length > 0) {
            for (x=0;x<validator.errorList.length;x++) {
                errors += validator.errorList[x].message;
            }
        }
        alert(errors);
      }
    }
    

    编辑: 如果您不希望 html 标签显示错误,这应该可以:

               errorPlacement: function (error, element) {
                  return false;
                },
    

    【讨论】:

    • 哦!这是最好的!但是在警告框之后很少出现问题,这些错误也会在输入元素进入 HTML 之后显示。是否有可能不在那里显示,仅在警报中显示
    • 非常感谢您的帮助!非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多