簡體   English   中英

jQuery-驗證插件

[英]jquery - validation plugin

我制作了一個簡單的驗證插件,如果輸入驗證失敗,則返回false,問題是此插件一次只能處理一個輸入。 我希望它同時使用所有輸入。

編碼

$.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;}
    });
}

呼叫

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
}

該代碼將執行的操作是,如果兩個輸入為空,則插件將僅告訴名稱輸入錯誤,僅當名稱輸入經過驗證時,表單才會告訴電子郵件輸入錯誤。 同時,我想同時看到兩個錯誤。

返回時,您將跳過其余功能。 嘗試這樣的事情:

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;

(不過,對於Matt Ball的評論+1,要在此基礎上自己滾動會花費很長時間。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM