[英]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.