最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquery validate 自定義驗(yàn)證方法介紹 日期驗(yàn)證

 更新時(shí)間:2014年02月27日 10:02:55   作者:  
本篇文章主要是對jquery validate 自定義驗(yàn)證方法 日期驗(yàn)證進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

jquery validate有很多驗(yàn)證規(guī)則,但是更多的時(shí)候,需要根據(jù)特定的情況進(jìn)行自定義驗(yàn)證規(guī)則。

這里就來聊一聊jquery validate的自定義驗(yàn)證。

jquery validate有一個(gè)方法,可以讓用戶來自定義驗(yàn)證規(guī)則。

案例一:

復(fù)制代碼 代碼如下:

//自定義驗(yàn)證
            $.validator.addMethod("isPositive",function(value,element){
                var score = /^[0-9]*$/;
                return this.optional(element) || (score.test(value));
            },"<font color='#E47068'>請輸入大于0的數(shù)字</font>");

通過addMethod用戶可以自定義自己的驗(yàn)證規(guī)則

這個(gè)方法有三個(gè)參數(shù),第一個(gè)參數(shù)表示驗(yàn)證規(guī)則名稱,這里是isPositive,表示是否為正數(shù)。

第二個(gè)參數(shù)是真正的驗(yàn)證主體,它是一個(gè)函數(shù),函數(shù)的第一個(gè)value表示調(diào)用這個(gè)驗(yàn)證規(guī)則的表單的值,第二個(gè)element可以用來判斷是否為空,為空的時(shí)候,就不調(diào)用這個(gè)驗(yàn)證規(guī)則了。

第三個(gè)參數(shù)是返回的錯誤提示。

具體如何使用呢?

其實(shí)跟jquery validate固有的驗(yàn)證規(guī)則使用是一樣的。

復(fù)制代碼 代碼如下:

 <tr bgcolor="#f7f7f7"  height="43" align="right">
                        <td class="font14_s pdr_12 grey_70">總分:</td>
                        <td class="font14_s pl40" align="left"><input type="text" id="fullscore" name="fullscore" style=" margin-left: 10px; margin-right: 2px;" value="<!--{$aExams.fullscore}-->" class="required number isPositive input_233" /></td>
                    </tr>

如上所示,加粗的地方就是使用的方法,一共用了三個(gè)驗(yàn)證規(guī)則,一個(gè)是必須,一個(gè)是數(shù)字,一個(gè)是自定義驗(yàn)證規(guī)則。

效果圖如下:

案例二:

表單提交時(shí),經(jīng)常會需要對日期進(jìn)行驗(yàn)證,比如結(jié)束時(shí)間必須大于開始時(shí)間。

這個(gè)時(shí)候可以通過jquery validate 自定義一個(gè)驗(yàn)證方法,進(jìn)行驗(yàn)證。

方法如下:

復(fù)制代碼 代碼如下:

$.validator.addMethod("compareDate",function(value,element){
                var assigntime = $("#assigntime").val();
                var deadlinetime = $("#deadlinetime").val();
                var reg = new RegExp('-','g');
                assigntime = assigntime.replace(reg,'/');//正則替換
                deadlinetime = deadlinetime.replace(reg,'/');
                assigntime = new Date(parseInt(Date.parse(assigntime),10));
                deadlinetime = new Date(parseInt(Date.parse(deadlinetime),10));
                if(assigntime>deadlinetime){
                    return false;
                }else{
                    return true;
                }
            },"<font color='#E47068'>結(jié)束日期必須大于開始日期</font>");

上述代碼紅色部分是對時(shí)間字符串進(jìn)行處理,處理成2013/12/12 08:09:00這種標(biāo)準(zhǔn)格式,

在處理的時(shí)候要用到replace的方法,這個(gè)方法最后結(jié)合正則表達(dá)式進(jìn)行使用,也就是第一行的reg對象。

替換完了之后,如果比較時(shí)間呢?要進(jìn)行三個(gè)處理,

1.將標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)化為時(shí)間戳通過Date.parse()方法來處理。

2.將時(shí)間戳轉(zhuǎn)化為整數(shù),確保萬一,通過parseInt("",10)來處理。

3.將時(shí)間戳轉(zhuǎn)為日期對象new Date()。

轉(zhuǎn)為對象之后,就能夠比較時(shí)間大小了,直接判斷,如果結(jié)束時(shí)間小于開始時(shí)間,就進(jìn)行錯誤提示。

這個(gè)時(shí)候compareDate就可以像其他的jquery validate驗(yàn)證規(guī)則一樣驗(yàn)證了。

案例三:ajax驗(yàn)證

去數(shù)據(jù)庫驗(yàn)證用戶名是否存在,這個(gè)也會經(jīng)常用到。

復(fù)制代碼 代碼如下:

$.validator.addMethod("checkUserExist",function(value,element){
                var user = value;
                $.ajax({
                    type:"POST",
                    async:false,
                    url:"/default/index/ajax/do/ajaxcheckuser",
                    data:"nick="+user,
                    success:function(response){
                        if(response){
                            res = false;
                        }else{
                            res = true;
                        }
                    }
                });
                return res;
            },"<font color='#E47068'>用戶名已存在</font>");

后臺驗(yàn)證代碼:
復(fù)制代碼 代碼如下:

case 'ajaxcheckuser':
                $nick = trim($this->_getParam('nick'));
                if(isset($nick)){
                    $where['lx_user.nick = ?'] = array('type'=>1,'val'=>$nick);
                    $aUser = $daoUser->getUser($where);
                    if(count($aUser)>=1){
                        echo TRUE;
                    }else{
                        echo FALSE;
                    }
                }else{
                    echo FALSE;
                }
                break;

如果數(shù)據(jù)庫中存在,就返回true。

相關(guān)文章

最新評論

寿阳县| 荃湾区| 基隆市| 扎兰屯市| 富锦市| 久治县| 霞浦县| 察雅县| 如皋市| 达尔| 西乌珠穆沁旗| 黄大仙区| 西藏| 盱眙县| 桂林市| 泾阳县| 平谷区| 西乌珠穆沁旗| 利津县| 色达县| 米林县| 荃湾区| 祥云县| 永德县| 普兰县| 彰化市| 红安县| 新兴县| 湘乡市| 安仁县| 微山县| 仙桃市| 东平县| 固原市| 元氏县| 吉木萨尔县| 日照市| 两当县| 小金县| 长白| 黄浦区|