function formValidationConfig() { return {//全局配置 // tiptype:4,//校驗方式 tiptype:function(msg,o,cssctl){ var objtip=o.obj.parents('.validation-class').find('.tipMsg'); //var objtip=o.obj.next('.tipMsg'); // var objtip=o.obj.siblings('.tipMsg'); cssctl(objtip,o.type); if(o.type == 3){ o.obj.parents('.tipMsg').css('margin-top','0'); //o.obj.parents('.validation-class').css('margin-bottom','0'); o.obj.parents('.validation-class').removeClass('has-success').addClass('has-error'); objtip.show().text(msg); }else{ o.obj.parents('.tipMsg').css('margin-top','20px'); //o.obj.parents('.validation-class').css('margin-bottom','20px'); o.obj.parents('.validation-class').removeClass('has-error').addClass('has-success'); objtip.hide(); } }, // btnSubmit:"#"+submit,//提交摁鈕ID //btnReset:".btn_reset",//可選項 .btn_reset是該表單下要綁定點擊重置表單事件的按鈕; dragonfly:false,//可選項 true | false 默認false,當為true時,值為空時不做 tipSweep:false,//可選項 true | false 默認為false,只在表單提交時觸發檢測,blu label:".label",//可選項 選擇符,在沒有綁定nullmsg時查找要顯示的提示文字,默認查找".Va showAllError:true,//可選項 true | false,true:提交表單時所有錯誤提示信息都 datatype: {//傳入自定義datatype類型,可以是正則,也可以是函數(函數內會傳入一個參數); 'valet':function (gets,obj,curform,regxp) { if(obj.val()==''){ return '請輸入購買數量'; } if(parseInt(obj.val())>parseInt(obj.attr("max"))){ return '超過最大購買數量'; } if(parseInt(obj.val())>parseInt(obj.attr("inventory"))){ return '超過現有庫存數量'; } }, 'sn':function(gets,obj,curform,regxp){//動態判斷取值范圍 if(obj.val()==''){ return false; } if(parseInt(obj.val())>parseInt(obj.attr("max"))){ return false; } /*if(parseInt(obj.val())<parseInt(obj.attr("min"))){ return false; } */ if(parseInt(obj.val())>parseInt(obj.attr("inventory"))){ return false; } return true; }, 'cm':/^((13[0-9])|(15[0-9])|(147)|(17[0-9])|(18[0-9]))\d{8}$/,//自定義手機號驗證,請輸入以13、14、15、17、18開頭的手機號碼 'idCard': /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/,//身份證號 'passport':/^([a-zA-Z]\d{8}|[a-zA-Z]{2}\d{7})$/,//護照 'officialOfCard':/^[軍][0-9]{7}$/,//軍官證 'nl':/^[0-9a-zA-Z]+$/, //只能輸入字母和數字 'nl1-45':/^[0-9a-zA-Z]{1,45}$/, //只能輸入字母和數字 'need1':function(gets,obj,curform,regxp){ var need=1, numselected=curform.find("input[name='"+obj.attr("name")+"']:checked").length; return numselected >= need ? true : false; }, 'max2':function(gets,obj,curform,regxp){ var atmax=2, numselected=curform.find("input[name='"+obj.attr("name")+"']:checked").length; if(numselected==0){ return false; }else if(numselected>atmax){ return "最多只能選擇"+atmax+"項!"; } return true; }, 'w': /^\w+$/, 'w6-20' :/^\w{6,20}$/, 'pi':/^[1-9]\d{0,2}$/, //只能輸入正整數 3位 'lt365': /^([1-9]|([1-9]\d)|(1\d\d)|(3([0-4]\d|6[0-5])))$/,//小於365的正整數 'lt100':/^([1-9]\d?|100)$/,//小於100的正整數 'lt1000':/^([1-9]\d{0,2}|1000)$/,//小於1000的正整數 'lt10000':/^([1-9]\d{0,3}|10000)$/,//小於10000的正整數 'lt99':/^([1-9]\d{0,1}|99)$/,//小於999的正整數 'lt999':/^([1-9]\d{0,2}|999)$/,//小於999的正整數 'lt99999':/^([1-9]\d{0,4}|99999)$/,//小於99999的正整數 'lt999999':/^([1-9]\d{0,5}|999999)$/,//小於999999的正整數 'lint999999':/^([0-9]\d{0,5}|999999)$/,//小於999999的正整數 'lint99999':/^([0-9]\d{0,4}|99999)$/,//小於99999的正整數 'float99999':/^(?!0+(?:\.0+)?$)(?:[1-9]\d{0,4}|0)(?:\.\d{1,2})?$/,//保留兩位小數 'float99900': /^([1-9][\d]{0,2}|0)(\.[\d]{1,2})?$/,//最大支持 999.99 'gt6':/^([6-9]|([1-9]\d)|([1-9]\d\d)|([1-9]\d\d\d))$/,//大於等於6的正整數 'money': /^([0-9][\d]{0,5})(\.[\d]{1,2})?$/,//最大支持 0~999999.99 'moneyNum': /^([0-9][\d]{0,5})(\.[\d]{1,2})|([0-9][\d]{0,5})$/,//最大支持 0~999999.99 'price1-99999900': /^(?!0+(?:\.0+)?$)(?:[1-9]\d{0,5}|0)(?:\.\d{1,2})?$/,//最大支持 0.01~999999.99 'price': /^(0?[0-9]\.[0,5]|[0-9]|[0-6][0-9]\.[0,5]|[0-6][0-9]|[7][0-1]\.[0,5]|[7][0-1]|[7][2]\.[0]|[7][2])$/,//正數浮點類型 例:1.0 或者1.5 'ch1-4':/^[\u4e00-\u9fa5]{1,4}$/,//純中文 1-4 'ch1-5':/^[\u4e00-\u9fa5]{1,5}$/,//純中文 1-5 'ch1-8':/^[\u4e00-\u9fa5]{1,8}$/,//純中文 1-8 'ch1-10':/^[\u4e00-\u9fa5]{1,10}$/,//純中文 1-10 'ch1-15':/^[\u4e00-\u9fa5]{1,15}$/,//純中文 1-15 'ch1-20':/^[\u4e00-\u9fa5]{1,20}$/,//純中文 1-20 'ch1-25':/^[\u4e00-\u9fa5]{1,25}$/,//純中文 1-25 'ch1-30':/^[\u4e00-\u9fa5]{1,30}$/,//純中文 1-30 'ch1-50':/^[\u4e00-\u9fa5]{1,50}$/,//純中文 1-50 'ch1-150':/^[\u4e00-\u9fa5]{1,150}$/,//純中文 1-150 'en':/^([a-zA-Z]+)$/,//純英文 'en1-15':/^([a-zA-Z]{1,15})$/,//純英文1-10 'en1-20':/^([a-zA-Z]{1,20})$/,//純英文1-20 'en1-30':/^([a-zA-Z]{1,30})$/,//純英文1-30 'en1-50':/^([a-zA-Z]{1,50})$/,//純英文1-50 'ne2-10':/^([a-zA-Z0-9]{2,10})$/,//貨號的限定 'ceh1-4':/^[\u4e00-\u9fa5a-zA-Z]{1,4}$/,//支持中文和英文 最大長度4 'ceh1-8':/^[\u4e00-\u9fa5a-zA-Z]{1,8}$/,//支持中文和英文 最大長度8 'ceh1-10':/^[\u4e00-\u9fa5a-zA-Z]{1,10}$/,//支持中文和英文 最大長度10 'ceh1-15':/^[\u4e00-\u9fa5a-zA-Z]{1,15}$/,//支持中文和英文 最大長度15 'ceh1-20':/^[\u4e00-\u9fa5a-zA-Z]{1,20}$/,//支持中文和英文 最大長度20 'ceh1-25':/^[\u4e00-\u9fa5a-zA-Z]{1,25}$/,//支持中文和英文 最大長度25 'ceh1-50':/^[\u4e00-\u9fa5a-zA-Z]{1,50}$/,//支持中文和英文 最大長度50 'cen1-10':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,10}$/,//中文英文或者數字 1-10 'cen1-15':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,15}$/,//中文英文或者數字 1-15 'cen1-20':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,20}$/,//中文英文或者數字 1-20 'cen1-30':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,30}$/,//中文英文或者數字 1-30 'cen1-50':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,50}$/,//中文英文或者數字 1-50 'cenSpecial1-20':/^[\u4e00-\u9fa5a-zA-Z0-9!#@$%^&*;。,,;.]{1,20}$/,//中文英文或者數字 1-20 'special1-20':/^[\u4e00-\u9fa5a-zA-Z0-9()}{_+=!`~#@$%^&*;。,,;.]{1,20}$/,//中文英文或者數字 1-20 'sort':/^([1-9]\d{0,4}|99999)$/,//排序 'lpr':/^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/,//車牌號校驗規則 'nes':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*]$/,//必須字母開頭,包含數字字母特殊符號 'nes6-20':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*]{6,20}$/,//必須字母開頭,包含數字字母特殊符號6-20 'nes1-20':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*;.,]{1,20}$/,//必須字母開頭,包含數字字母特殊符號6-20 'ne':/^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z][0-9a-zA-Z_]$/,// 包含數字字母_以字母開頭 'ne4-15':/^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z][0-9a-zA-Z_]{4,15}$/,// 包含數字字母_4-15位以字母開頭 'coe':/^([\u4e00-\u9fa5]+|([a-zA-Z]+\s?)+)$/,//純中文或者純英文 'coe1-10':/^([\u4e00-\u9fa5]{1,10}|([a-zA-Z]+\s?){1,10})$/,//純中文或者純英文 最大長度10 'houseNumber':/^\d{1,}-\d{1,}-\d{1,}$/,//房號校驗 'parking':/^[0-9]{5}$/,//車位號 00001~99999 'goodId':/^[0-9a-z]{32}$/,//商品id 'loginName6-30':/^[0-9a-zA-Z_]{6,30}$/, // 登錄名 支持英文數字和下划線,6~30 'url':/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/, 'urlAll':/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/, 'url6-20':/^[0-9a-zA-Z\.!#@$%^&*:_{}\/]{6,20}$/, 'url1-255':/^[0-9a-zA-Z\.!#@$%^&*:_{}\/]{1,255}$/, // 支持數字字母特殊符號1-255 'code1-50':/^([a-zA-Z\-_]{1,50})$/, 'str1-20':/^\S{1,20}$/, // 1-20位字符串 'str1-30':/^\S{1,30}$/, // 1-30位字符串 'str1-200':/^\S{1,200}$/, // 1-200位字符串 'number_symbol_15':/^[0-9!#@$%^&*:_.,;'~()]{1,15}$/, 'moneySection': function (gets,obj,curform,regxp) {//金額區間 var float2=/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/; var minMoney = $(obj).attr('minMoney');//最小金額 var maxMoney = $(obj).attr('maxMoney');//最大金額 if(!float2.test(gets)){// 驗證金額 return '請輸入正整數或者兩位小數'; } if(minMoney && gets < parseFloat(minMoney)){ return '輸入金額不能小於'+minMoney+'元'; } if(maxMoney && gets > parseFloat(maxMoney)){ return '輸入金額不能超過'+maxMoney+'元'; } return true; }, 'disableCheck':function(gets,obj){ //if( $(obj).prop('disabled') && (/^([0-9]\d{0,4}|99999)$/.test(gets))) { if ($(obj).attr('over')=='true' && (/^([0-9]\d{0,4}|99999)$/.test(gets))) { return true; } return false; }, 'intSection': function (gets,obj,curform,regxp) {//整數區間 var intExp=/^-?\d+$/, minInt = $(obj).attr('minInt'),//最小數值 maxInt = $(obj).attr('maxInt');//最大數值 if(!intExp.test(gets)){// 驗證金額 return '請輸入整數'; } if(minInt && gets < parseInt(minInt)){ return '輸入數字不能小於'+minInt; } if(maxInt && gets > parseInt(maxInt)){ return '輸入數字不能大於'+maxInt; } return true; }, 'order':function (gets,obj,curform,regxp) { if(gets.length>0){ var reg = /^[1-9]\d{5,29}$/; if(!reg.test(gets)){ return '請輸入6-30位數字'; } } return true; }, 'activityLessThanAppoint': function (gets,obj,curform,regxp) { if(!/^([1-9]\d{0,5}|999999)$/.test(gets)){// 驗證金額 return '請輸入1~999999正整數'; } /*與庫存對比*/ var inventoryCount = $(obj).attr('inventoryCount');//對比對象id var inventoryMsg = $(obj).attr('inventoryMsg');//提示信息 if($(inventoryCount).val()!=''&&(gets > parseInt($(inventoryCount).val()))){ return inventoryMsg; } /*與最大值做對比*/ var appoint = $(obj).attr('cus-obj');//對比對象id var msg = $(obj).attr('cus-msg');//提示信息 if($(appoint).val()!=''&&(gets > parseInt($(appoint).val()))){ return msg; } return true; }, 'inventoryGtlimit':function(gets,obj,curform,regxp){ /*與庫存對比*/ var inventoryCount = $(obj).attr('inventoryCount');//對比對象id var inventoryMsg = $(obj).attr('inventoryMsg');//提示信息 if(gets == ''){ return $(obj).attr('nullmsg'); } if($(inventoryCount).val()!=''&&(gets > parseInt($(inventoryCount).val()))){ return inventoryMsg; } return true; }, 'password6-20': /^(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%\\^&*?]{6,20}$/,// 密碼 'template':function(gets){ if(gets.indexOf('##')>-1){ return '不能有##字符'; } }, 'relateUrl':function (gets,obj) { var sMessageType = $("select[name='messageType']").val(); if(sMessageType == 'text'){ return true; }else{ if(gets.length>0){ return true; }else{ return '請填寫對應的鏈接'; } } } }, /*beforeCheck:function(curform){ //在表單提交執行驗證之前執行的函數,curform參數是當前表單對象。 //這里明確return false的話將不會繼續執行驗證操作; },*/ beforeSubmit:function(curform){ App.loader('show'); return true; //在驗證成功后,表單提交前執行的函數,curform參數是當前表單對象。 //這里明確return false的話表單將不會提交; }, callback:function(data){//回調函數 App.loader('hide'); if(typeof data.responseJSON=="object"){//laravel 校驗錯誤 message=objectToString(data.responseJSON); data={code:'error',message:message}; } requestCallback(data,'');//調用校驗函數處理錯誤信息 // if(typeof callback == 'function'){ // callback(data); // }else{ // requestCallback(data,callback);//調用校驗函數處理錯誤信息 // } }, ajaxPost:true }; }
