1

我正在使用 JQuery 验证插件。我提供了一个自定义的 showError 函数,如下所示:

var errorHandler = function(errorMap, errorList) {
    console.log("count: " + this.errorList.length);

    var text = "";
    if (this.errorList.length > 0) {
      text = "Please correct the following errors: ";
      for (var i = 0; i < this.errorList.length; i++) {
        text += "* " + this.errorList[i].message.errorCode + "<br>";
      }
    }
    $('#oopDialogErrorContainer').html(text);
    this.defaultShowErrors();
}

我的问题是我想访问表单中所有现有的错误。表单有许多字段,但是当调用 errorHandler(此函数作为 showError 选项传递给 validate())时,errorList 仅包含上次验证的字段中的错误。在检查验证器对象时,没有任何地方存储所有当前错误。我需要自己管理吗?(看起来是这样,但我可能会遗漏一些东西。

4

1 回答 1

0

http://docs.jquery.com/Plugins/Validation/validate#options

errorLabelContainer

验证时隐藏并显示此容器。

“所有错误标签都显示在 ID 为“messageBox”的无序列表中,由作为 errorContainer 选项传递的选择器指定。所有错误元素都包含在 li 元素中,以创建消息列表。”

$("#myform").validate({
   errorLabelContainer: "#messageBox",
   wrapper: "li",
   submitHandler: function() { alert("Submitted!") }
})

和...

errorContainer

验证时隐藏并显示此容器。

“使用附加容器来存储错误消息。作为 errorContainer 给出的元素在发生错误时都会显示和隐藏。但是错误标签本身会添加到作为 errorLabelContainer 给出的元素中,这里是一个无序列表。因此错误标签也被包装到 li 元素中(包装器选项)。”

$("#myform").validate({
   errorContainer: "#messageBox1, #messageBox2",
   errorLabelContainer: "#messageBox1 ul",
   wrapper: "li", debug:true,
   submitHandler: function() { alert("Submitted!") }
})
于 2012-09-27T20:37:26.427 回答