2013-01-10 5 views
5

오류 요약을 구현 한 결과 표시되는 동안이 오류 메시지는 표시되지 않지만 오류가 남아 있지 않으면 숨길 수있는 단서가 없습니다. 오류 메시지가 떠나있는 동안, 요약은 여전히 ​​남아 있고, 두 필드 중 하나에서 아무것도에서jquery validate : 오류 요약을 표시하고 숨기는 방법?

유형 :

나는 그것을 설명하기 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; 
    } 

}); 

답변

4

errorContainer 옵션을 사용하십시오. { "#의 validation_summary"}

http://jsfiddle.net/eDk2m/7

편집에 코멘트

을 읽은 후 :이

errorContainer 잘못된 형태가 유효하게 지정된 요소를/숨기기/표시됩니다

이벤트가 있습니다. 좋은 예가 플러그인 데모의 custom-methods-demo.html 페이지에 있습니다. 모양은 다음과 같습니다.

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

이것은 좋은 해결책입니다. +1. 탭 헤더를 붉은 색으로 만들고 오류가 사라지면 빨간색을 제거하기 위해 연결할 수있는 종류의 함수가 있기를 바랬습니다. 이 피들처럼 : http://jsfiddle.net/houmie/Nf8xY/6/ 오류가있을 때 TAB B를 빨간색으로 만들고 오류가 없을 때 스타일을 제거하는 방법이 있다고 생각합니까? 문자 그대로 후크하기위한 이벤트? – Houman

+0

이벤트가 있습니다. 그것은 "invalid-form.validate"입니다. 일부 코드의 형식을 지정할 수 있도록 답변을 수정하겠습니다. –

+0

올바른 방향으로 나를 도왔습니다. 여전히 문제가 있습니다. 새 질문을 시작하는 것이 좋습니다. – Houman

관련 문제