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,...]一一對應
- 轉載請注明來源
- 作者:楊瀚博
- QQ:464884492

浙公網安備 33010602011771號