2011-03-28 3 views
0

입력이 유효하지 않은 경우 false를 반환하는 간단한 유효성 검사 플러그인을 만듭니다. 문제는이 플러그인이 한 번에 하나의 입력에서만 작동한다는 것입니다. 나는 그것이 동시에 모든 입력과 함께 작동하기를 원합니다. 두 개의 입력이 비어있는 경우 할 것입니다 코드는 무엇인가, 플러그인 이름 만 입력 오류를 말할 것이다, 이름 입력은 jquery - validation plugin

if(!$('#name').validate()){ 
    $('.name_inline_error').text('require name'); 
    return false;// return false to stop ajax form submiting 
} 

if(!$('#email').validate()){ 
    $('.email_inline_error').text('require email'); 
    return false;// return false to stop ajax form submiting 
} 

전화
$.fn.validate = function(options){ 
    var defaults = { 
     required:true, 
     minChar:0, 
     maxChar:0 
    }, 
    o = $.extend({},defaults, options); 
    this.each(function(){ 
     var $this=$(this); 
     var val = $this.val(); 
     if(o.required==true && val==''){ 
      return false; 
     }else if(o.minChar>0 && val.length < o.minChar){ 
      return false; 
     }else if(o.maxChar>0 && val.length >o.maxChar){ 
      return false; 
     } 
     else{return true;} 
    }); 
} 

코드

때 양식이 전자 메일 입력 오류를 알립니다. 동시에 두 가지 오류를보고 싶습니다.

+4

왜 당신은 그냥 [사용하지 것이다 정말 굉장한 유효성 검사 플러그인이 이미 존재합니다.] (http://docs.jquery.com/Plugins/Validation)? –

+0

감사합니다. 오히려 긴 문서와 중복 기능을 읽는 것보다 스스로를 만듭니다. –

+0

그 논리를 가지고 왜 jQuery를 사용하고 있습니까? –

답변

1

돌아 오면 나머지 기능은 건너 뜁니다. 이 같은 시도 : (. 그러나, 매트 볼의 의견에 한 - 시간이 오래 걸릴 것입니다이 일에 자신의 압연)

valid = true; 

if(!$('#name').validate()){ 
    $('.name_inline_error').text('require name'); 
    valid = false; 
} 

if(!$('#email').validate()){ 
    $('.email_inline_error').text('require email'); 
    valid = false; 
} 

return valid;