如何在JQuery验证器中的invalidHandler中显示消息

5 javascript validation jquery

我正在尝试在表单上使用JQuery验证器,并试图找出在invalidHandler选项中获取错误的消息(或者如果还有其他地方,请告诉我).

当用户单击提交按钮时,无论第一个错误是什么,我都希望显示一个警告框,其中包含错误消息.我不希望错误写在文档上.我似乎无法弄清楚如何在验证后获取警报中使用的错误消息.我只找到了如何获取元素,这对我没有帮助.

从示例中拉出来,这是我正在测试的一些代码

$(document).ready(function() {
    $('#commentForm').validate({
        invalidHandler: function(f, v) {
            var errors = v.numberOfInvalids();
            if (errors) {
                var invalidElements = v.invalidElements();
                alert(invalidElements[0]);
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
   <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
Run Code Online (Sandbox Code Playgroud)

小智 9

这对我有用......

    invalidHandler: function(form, validator) {
      var errors = validator.numberOfInvalids();
      if (errors) {
        var message = errors == 1
          ? 'Please correct the following error:\n'
          : 'Please correct the following ' + errors + ' errors.\n';
        var errors = "";
        if (validator.errorList.length > 0) {
            for (x=0;x<validator.errorList.length;x++) {
                errors += "\n\u25CF " + validator.errorList[x].message;
            }
        }
        alert(message + errors);
      }
      validator.focusInvalid();
    }
Run Code Online (Sandbox Code Playgroud)


nex*_*neo 1

你不应该使用警报,

但如果你真的想用它。解决方案取决于插件如何添加 dom 元素,但您可以在 invalidHandler 中删除这些 dom 元素。因此,让这些 dom 元素添加但将其删除。

其他选项是,您应该修补用于验证的插件,而不是添加 dom show alert。