jquery validate:如何显示和隐藏错误摘要?

时间:2013-01-10 10:43:05

标签: jquery jquery-validate

我已根据此example here:

实施了错误摘要

当我显示它时,我没有线索如何在没有错误的情况下隐藏它。

我有fiddle here来演示它:

在两个字段中的任何一个字段中输入任何内容,而错误消息消失,摘要仍然存在。必须有一个我需要订阅的事件,但我无法弄明白。

$(document).ready(function () {

  var validator = validation_rules('#myform');
  validator.form();

  function validation_rules(form) {

    $.validator.addClassRules("fillone", {
      require_from_group: [1, ".fillone"]
    });

    var validator = $(form).validate({
      errorPlacement: function (error, element) {
        var field_error = $(form).find('#id_' + element.attr('name')).siblings('.field_error');
        if (field_error.length > 0) {
          error.appendTo(field_error);
        }

        $(field_error).show();
      },
      invalidHandler: function () {
        $("#validation_summary").text(validator.numberOfInvalids() + " field(s) are invalid");
      }

    });
    return validator;
  }

});

1 个答案:

答案 0 :(得分:4)

使用errorContainer选项。当表单变为有效/无效时,这将显示/隐藏指定的元素

  

errorContainer:{ “#validation_summary”}

示例位于http://jsfiddle.net/eDk2m/7

阅读评论后编辑

有一个要挂钩的事件 - 一个很好的例子是在插件演示的custom-methods-demo.html页面中。看起来像这样

var validator = $("form").bind("invalid-form.validate",  
function() { 
 var errorCount = validator.numberOfInvalids(); 
 // do other stuff here
}).validate({...});