5

ここに、この例に従ってエラーの要約を実装しました。

表示している間は、エラーがなくなったら非表示にする方法がわかりません。

私はそれを実証するためにここでフィドルを持っています:

2つのフィールドのいずれかに何かを入力すると、エラーメッセージは消えますが、要約は残ります。購読する必要のあるイベントがあるはずですが、わかりません。

$(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;
  }

});
4

1 に答える 1

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({...});
于 2013-01-10T12:25:24.230 に答える