首頁 > web前端 > js教程 > jquery validate 自訂驗證方法介紹 日期驗證_jquery

jquery validate 自訂驗證方法介紹 日期驗證_jquery

WBOY
發布: 2016-05-16 16:58:02
原創
1301 人瀏覽過

jquery validate有很多驗證規則,但是更多的時候,需要根據特定的情況進行自訂驗證規則。

這裡就來聊聊jquery validate的自訂驗證。

jquery validate有一個方法,可以讓使用者來自訂驗證規則。

案例一:

複製程式碼 程式碼如下:

//自訂驗證
            $.validator.addMethod("isPositive",function(value,element){
                   return this.optional(element) || (score .test(value));
            },"請輸入大於0的數字");

透過add用戶可以自訂自己的驗證規則
這個方法有三個參數,第一個參數表示驗證規則名稱,這裡是isPositive,表示是否為正數。

第二個參數是真正的驗證主體,它是一個函數,函數的第一個value表示呼叫這個驗證規則的表單的值,第二個element可以用來判斷是否為空,為空的時候,就不呼叫這個驗證規則了。

第三個參數是傳回的錯誤提示。

具體如何使用呢?

其實跟jquery validate固有的驗證規則使用是一樣的。


複製程式碼 代碼如下:
 
                        總分:
                   


如上所示,加粗的地方是使用的方法,一是一個共用了規則,一是一個是粗的地方。是數字,一個是自訂驗證規則。

效果圖如下:


案例二:

表單提交時,經常需要對日期進行驗證,例如結束時間必須大於開始時間。

這個時候可以透過jquery validate 自訂一個驗證方法,進行驗證。

方法如下:


複製程式碼 程式碼如下:

$.validator.addMethod("compareDate",function(value,element){
                     var deadlinetime = $(" #deadlinetime").val();
                var reg = new RegExp('-','g'); deadlinetime = deadlinetime.replace(reg,'/');
                assigntime = new Date(parseInt(Date. adlinetime = new Date(parseInt(Date.parse(deadlinetime) 10));
                           }           }else{
                           },"結束日期必須大於開始日期");


上述程式碼紅色部分是對時間字串進行處理,處理成2013/12/12 08:09:00這種標準格式,

在處理的時候要用到replace的方法,這個方法最後結合正規表示式進行使用,也就是第一行的reg物件。

替換完了之後,如果比較時間呢?要進行三次處理,
1.將標準時間轉換為時間戳透過Date.parse()方法來處理。
2.將時間戳轉換為整數,確保萬一,透過parseInt("",10)來處理。

3.將時間戳記轉為日期物件new Date()。

轉為物件之後,就能夠比較時間大小了,直接判斷,如果結束時間小於開始時間,就進行錯誤提示。

這時候compareDate就可以像其他的jquery validate驗證規則一樣驗證了。

案例三:ajax驗證

去資料庫驗證使用者名稱是否存在,這個也會常用到。

複製程式碼


程式碼如下:


$.validator.addMethod("checkUserExist",function(value,element){
              ajax({
                    type:"POST",
                    async:false,
                    url:"/default/index/ajax/do/ajaxcheckuser",
                    data:"nick=" user,
                    成功:函數(響應){
                        if(響應){
                           res = false;                            res = true;                          },"用戶名已存在");


後台驗證代碼:




複製代碼


代碼如下:                    }else{
                        echo FALSE;
                    }
               }else{
                    echo FALSE;
            🎜>

如果資料庫中存在,就回傳true。



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板