easyui擴展正則驗證,函數驗證


   用easyui做業務系統,對於默認的幾個驗證規則,肯定是不夠的,難免會增加幾種規則。可是問題來了,往往是我們在開發會遇到很多各種各樣的驗證,時間久了才發現,這些擴展的正則無非就是添加一個正則驗證規則,那我為啥不將正則放到前端呢?想到這個說干就干,於是有了REGEX這個驗證規則,愉快的調用幾次后,感覺這功能還不錯,心里賊爽了下。一段時間后,發現有些驗證居然還和數據業務有關系,這下問題又來,難道我又要些一堆的規則!到底能不能象我的正則驗證一樣統一呢。果不其然,在苦思冥想半小時后,我這FUN驗證規則浮出水面。

 //自定義正則驗證
    REGEX: {
        validator: function (value, param) {
            var regex = param[0];
            var re = new RegExp(regex);
            return re.test(value);
        },
        message: '{1}'
    },
    //自定義函數驗證
    FUN: {
        validator: function (value, param) {
            var fun = param[0];
            if ($.isFunction(fun)) {
                return fun(value);
            }
            return true;
        },
        message: '{1}'
    },

  解釋一下,$.extend($.fn.validatebox.defaults.rules,{}),這里可以擴展很多規則,當然現在又了 REGEX 和 FUN 規則,感覺可以不用寫其他的規則了,小小滿足一下。

哇,功能這么強大,那我要怎么使用呢?

   FUN:

  <label for="F_FPSL" class="input_lable ">發票稅率(%)</label><input type="text" name="F_FPSL" class="easyui-textbox input_box" data-options="width:107,prompt:'多個稅率逗號隔開',validType:{FUN:[Jsdwxx.validatafpsl,'發票稅率只能錄入數字']}" />

  REGEX:

 <label for="F_SBDQ" class="input_lable ">上報地區</label><input type="text" name="F_SBDQ" class="easyui-textbox input_box" data-options="width:132,prompt:'例如:ZYCC',validType:{REGEX:['^[A-Za-z]{4}$','上報地區為4個字母']},boxCls:'uppercase'" /></li>

 PS:規則中 {0},{1},{...}和前台定義REGEX:[0,1,...]一一對應


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM