2013-07-22 4 views
0

jquery 유효성 검사를 사용하고 그룹을 설정하면 필요한 필드 중 하나라도 잘못되었을 때 하나의 오류 메시지 만 표시됩니다. 오류가 올바르게 throw되고 있지만 잘못된 필드가 여러 개있을 때마다 문제가 발생합니다. 어떤 이유로 jquery는 첫 번째 잘못된 필드를 지울 때 오류 메시지를 지 웁니다. 아직 해결되지 않은 다른 잘못된 필드가있을 수 있다는 사실을 고려하지 않는 것 같습니다. 그룹의 마지막 유효하지 않은 항목이 지워질 때까지 계속 머물러야한다는 오류 메시지가 필요합니다.그룹 유효성 검사시 이상한 오류 제거 동작

jQuery(function ($) { 
    jQuery.validator.messages.required = "Please complete the required fields."; 
    $("#quote").validate({ 
     errorLabelContainer: "#error-note", 
     rules: { 
      serviceDate: "required", 
      recurringBasis: "required" 
     }, 
     highlight: function (element) { 
      $(element).parent().prev().prev('span').addClass("error"); 
     }, 
     unhighlight: function (element) { 
      $(element).parent().prev().prev('span').removeClass("error"); 
     }, 
     groups: { 
      collecive: "serviceDate recurringBasis" 
     } 
    }); 

}); 

여기에 내가 무슨 말 증명하는 데 도움 a Fiddle입니다 :

여기 내가 사용하는 코드입니다.

"필수 입력란을 작성하십시오."라는 그룹 오류 메시지가 필요합니다. 그룹의 마지막 유효하지 않은 항목이 지워질 때까지 계속 머물러 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.

+1

이 버그를 것으로 보인다 및 개발자가 그것에 대해 언급하는 마지막이었다 https://github.com/jzaefferer/jquery-validation/issues/364 – Sparky

답변

1

Since this seems to be a bug 여기에는 할 수있는 것이 많지 않습니다. (나는 버그를 수정하고 개발자의 공식 GitHub의 저장소에 국한되어야 플러그인의 소스 코드를 수정에 대해 토론을 믿습니다.를)

을 그렇지 않으면에만 발생에 양식 검증 테스트를 강제 falseonkeyuponfocusout 옵션을 설정 제출 버튼의 click 이벤트가 발생할 때 이상적은 아니지만 버그가 수정 될 때까지 허용 가능한 해결 방법 일 수 있습니다.

$("#quote").validate({ 
    onkeyup: false, 
    onfocusout: false, 
    ... 

http://jsfiddle.net/vRWgv/3/

관련 문제