jQuery Validate添加自定義校驗

jQuery Validate插件爲表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定製選項,滿足應用程序各種需求。菜鳥教程裏面介紹了一種添加自定義的方法,我再介紹另外的一種。

先下載jQuery Validate 的插件

菜鳥教程提供的 1.14.0 版本下載地址:http://static.runoob.com/download/jquery-validation-1.14.0.zip

導入js庫

第一種:菜鳥教程給的參考方案是:

addMethod(name,method,message) 添加一個新的驗證方法。必須包括一個獨一無二的名字,一個 JAVASCRIPT 的方法和一個默認的信息。

// 中文字兩個字節
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
    var length = value.length;
    for(var i = 0; i < value.length; i++){
        if(value.charCodeAt(i) > 127){
            length++;
        }
    }
  return this.optional(element) || ( length >= param[0] && length <= param[1] );   
}, $.validator.format("請確保輸入的值在{0}-{1}個字節之間(一箇中文字算2個字節)"));

// 郵政編碼驗證   
jQuery.validator.addMethod("isZipCode", function(value, element) {   
    var tel = /^[0-9]{6}$/;
    return this.optional(element) || (tel.test(value));
}, "請正確填寫您的郵政編碼");

第二種:

//比較時間
jQuery.validator.methods.compareDate = function(value, element, param) {
    var startDate = jQuery(param).val();
    var date1 = new Date(Date.parse(startDate.replace("-", "/")));
    var date2 = new Date(Date.parse(value.replace("-", "/")));
    return date1 <= date2;
};

第二個例子的作用是比較時間,value是當前元素的值,element是當前元素,param是傳入的參數。

這種方式不需要些默認信息。

這兩種使用的方法一樣的,例如:

                 //添加框表單校驗
                 $("#addForm").validate({
                     rules: {
                         startdate: {
                             required: true
                         },
                         enddate: {
                             required: true,
                             compareDate:"#startdate_add"
                         }
                     },
                     messages: {
                        startdate: {
                             required: "該項必填"                         },

                         enddate: {
                             required: "該項必填",
                             compareDate:"需要比開始時間大"
                         }
                     }
                 });

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章