Jquery 验证,仅提醒一次

Jquery validation, alert just once

如果我在运行下面,alder和gender这两个字段都是无效的,它会提示两次。是否可以让它只提醒一次?

$(function(){
            $("#formTest").validate({           
                rules : {
                    alder : {
                        required: true
                    },
                    gender : {
                        required: true
                    }
                }, 

                errorPlacement: function (error, element) {
                    alert("Alert once");
                }
            });
});

之前从未使用过 jQuery 验证,但这可能有效:

$(function(){
  var checked = false;
  $("#formTest").validate({           
    rules : {
      alder : {
        required: true
      },
      gender : {
        required: true
      }
    }, 

    errorPlacement: function (error, element) {
      if (!checked) {
        alert("Alert once");
        checked = true;
      }
    }
  });
});

errorPlacement 为每个错误调用一次 - 它不是为了提醒消息,而是将其放在表单中。您可以尝试使用 groups 功能,将您的字段分组在一起并为整个组进行一次调用,或者使用 showErrors 函数捕获所有错误并显示随心所欲:

$(".selector").validate({
  showErrors: function(errorMap, errorList) {
    alert(`Your form contains ${this.numberOfInvalids()} errors`);
  }
});