2012-10-19 3 views
1

errorPlacement: 함수를 삽입하자마자 코드가 손상됩니다. 제출 클릭시 유효성 검사가 수행되지 않습니다. 누군가 제발 도와 줄 수 있어요.jQuery validation - errorPlacement가 코드를 깨고 있습니다.

이 기능을 제거하면 유효성이 정상적으로 작동합니다.

수입 : -

<script type="text/javascript" src="/MyApp/js/jquery.js"></script> 
<script type="text/javascript" src="/MyApp/js/jquery.validate.min.js"></script> 

스크립트 : -

$(document).ready(function(){ 
     $("#post-an-ad").validate({ 
      rules:{ 
       articleTitle:{ 
        required: true, 
        minlength: 5 
       },    
       dateRequested:{ 
        required: true, 
        date: true 
       }, 
       articleLocation:{ 
        required: true, 
        minlength: 8 
       }, 
       'user.agent': "required", 
       'user.firstName': "required", 
       'user.emailId':{ 
        required: true, 
        email: true 
       }, 
       'user.phone':{ 
        required: true, 
        minlength: 8, 
        number: true 
       } 
      }, 
      errorPlacement: function(error, element) { 
      alert("This alert is not popping"); 
      }, 
      submitHandler: function(form){  
      // doing nothing on a submit. 
       return false; 
      } 
     }); 
    }); 

답변

0

나는 jsFiddle에 코드를 넣어 내 브라우저를 추락했다. 유효성 검사 코드는 괜찮습니다 ... 그러나 을 errorPlacement: 함수 안에 넣는 것은 이 아니라입니다!

errorPlacement: function(error, element) { 
    alert("This alert is not popping"); //--- this is causing infinite loop 
}, 

경고

은, 당신이이 폼이 여전히 유효 즉시부터 다시 트리거 것 경고에 "확인"을 명중 할 때 오류에 트리거, 과정이 반복 ...이 비 스톱의 무한 루프에 걸리면 경고. 다음 Safari 알림이 즉시 표시되지 않고 경고를 취소 할 수 없기 때문에 Safari가 손상되었습니다. 나는 다른 브라우저가이 루프를 자신의 방식으로 처리하고 있다고 확신한다.

다른 모든 기능이 정상적으로 작동합니다.

유엔의 주석에 따른 모든 책임은 사용자에게 문제가되는 줄을 :

http://jsfiddle.net/59bsp/


이이 솔루션을 어디에 errorPlacement: 작품을 완벽하게 정상적으로 ...

errorPlacement: function(error, element) { 
    error.insertAfter(element); //- this line demonstrates the default behavior 
}, 

http://jsfiddle.net/59bsp/1/

+1

감사. 이 문제가 해결되었습니다. – Sachin