官網原文:http://validform.rjboy.cn/demo.html
Validform常用功能示例
申請VIP
您可以享受到:- 及時的技術支持(1年)
- 一對一的使用培訓
- 第一手的版本更新信息和講解
1年365天,每天1元錢,您只需支付365元就能獲得
VIP服務。
無論您是建站公司還是工作室,或者是個人,爲了您的效率,請把繁雜的驗證交給專業的我們來解決,這給您節省的不只是一點點!
申請請加QQ:1395807821
基本功能
- 智能的提示信息 5.3+
- 給表單元素綁定驗證類型和提示文字
- 給表單下的任一對象綁定提交表單或重置方法 5.0+
- 修改默認的提示文字,如默認彈出框的標題,驗證成功後的提示文字等 5.0+
- 檢測重複密碼是否與第一次輸入的密碼一致
- 逐條驗證與一次驗證顯示所有錯誤信息
- 使用ajax的方式提交表單 5.0+
- 讓表單只能提交一次,提交成功後再提交表單將不會有操作 5.0+
- 在表單元素有輸入時才驗證,沒有輸入時不驗證
- Validform實現用戶名的實時驗證
- dataype實現規則累加或單選 5.2+
進階功能
- Validform沒有限定只能使用table佈局,任何結構都是可以的 5.0+
- 傳入自定義的datatype,可以滿足你幾乎所有的驗證需求
- 在自定義datatype中返回具體的錯誤信息 5.0+
- 僅用Validform做驗證,驗證成功後調用自己的方法提交表單 5.0+
- 使用Validform對象 5.0+
常見的一些驗證效果
- 二選一的驗證,如電話號碼與手機號碼只需其中之一有輸入 5.0+
- 通過自定義datatype對身份證號碼進行嚴格驗證 5.0+
- 通過自定義datatype驗證最多或至少選擇n項 5.0+
- 分類選擇,選擇了其中一類就忽略其他類的驗證 5.0+
提示效果 - 可以實現幾乎任何你想要的提示效果
- 提示效果一:彈出框提示
- 提示效果二:右側提示
- 提示效果三:Focus時右側出現提示文字 5.0+
- 提示效果四:【自定義提示效果】右側提示,ajax提交時不彈出提示層
- 提示效果五:【自定義提示效果】固定位置顯示提示信息
- 提示效果六:【自定義提示效果】使用自定義彈出框
- 提示效果七:【自定義提示效果】讓提示信息滑入顯示 5.0+
外調插件
文件上傳 - swfupload [需要服務器環境] 去官網查看詳細使用方法»
密碼強度檢測 - passwordStrength
日期控件 - datePicker
表單美化 - jqtransform
原文:http://validform.rjboy.cn/?cat=1
使用說明
你沒看錯,就一行代碼搞定整站的表單驗證!
1 |
|
效果圖:
使用方法:
$(".demoform").Validform({//所有可傳入的參數如下:;
btnSubmit:"#btn_sub",
btnReset:".btn_reset",
tiptype:1,
ignoreHidden:false,
dragonfly:false,
tipSweep:true,
showAllError:false,
postonce:true,
ajaxPost:true,
datatype:{
"*6-20": /^[^\s]{6,20}$/,
"z2-4" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/,
"username":function(gets,obj,curform,regxp){
//參數gets是獲取到的表單元素值,obj爲當前表單元素,curform爲當前驗證的表單,regxp爲內置的一些正則表達式的引用;
var reg1=/^[\w\.]{4,16}$/,
reg2=/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,8}$/;
if(reg1.test(gets)){return true;}
if(reg2.test(gets)){return true;}
return false;
//注意return可以返回true 或 false 或 字符串文字,true表示驗證通過,返回字符串表示驗證失敗,字符串作爲錯誤提示顯示,返回false則用errmsg或默認的錯誤提示;
},
"phone":function(){
// 5.0 版本之後,要實現二選一的驗證效果,datatype 的名稱 不 需要以 "option_" 開頭;
}
},
usePlugin:{
swfupload:{},
datepicker:{},
passwordstrength:{},
jqtransform:{
selector:"select,input"
}
},
beforeCheck:function(curform){
//在表單提交執行驗證之前執行的函數,curform參數是當前表單對象。
//這裏明確return false的話將不會繼續執行驗證操作;
},
beforeSubmit:function(curform){
//在驗證成功後,表單提交前執行的函數,curform參數是當前表單對象。
//這裏明確return false的話表單將不會提交;
},
callback:function(data){
//返回數據data是json格式,{"info":"demo info","status":"y"}
//info: 輸出提示信息;
//status: 返回提交數據的狀態,是否提交成功。如可以用"y"表示提交成功,"n"表示提交失敗,在ajax_post.php文件返回數據裏自定字符,主要用在callback函數里根據該值執行相應的回調操作;
//你也可以在ajax_post.php文件返回更多信息在這裏獲取,進行相應操作;
//這裏執行回調操作;
//注意:如果不是ajax方式提交表單,傳入callback,這時data參數是當前表單對象,回調函數會在表單驗證全部通過後執行,然後判斷是否提交表單,如果callback裏明確return false,則表單不會提交,如果return true或沒有return,則會提交表單。
}
});
Validform對象的方法和屬性:
tipmsg:自定義提示信息,通過修改Validform對象的這個屬性值來讓同一個頁面的不同表單使用不同的提示文字;
dataType:獲取內置的一些正則;
eq(n):獲取Validform對象的第n個元素;
ajaxPost(flag,sync):以ajax方式提交表單。flag爲true時,跳過驗證直接提交,sync爲true時將以同步的方式進行ajax提交;
abort():終止ajax的提交;
submitForm(flag):以參數裏設置的方式提交表單,flag爲true時,跳過驗證直接提交;
resetForm():重置表單;
resetStatus():重置表單的提交狀態。傳入了postonce參數的話,表單成功提交後狀態會設置爲"posted",重置提交狀態可以讓表單繼續可以提交;
getStatus():獲取表單的提交狀態,normal:未提交,posting:正在提交,posted:已成功提交過;
setStatus(status):設置表單的提交狀態,可以設置normal,posting,posted三種狀態,不傳參則設置狀態爲posting,這個狀態表單可以驗證,但不能提交;
ignore(selector):忽略對所選擇對象的驗證;
unignore(selector):將ignore方法所忽略驗證的對象重新獲取驗證效果;
addRule(rule):可以通過Validform對象的這個方法來給表單元素綁定驗證規則;
- 必須是表單對象執行Validform方法,示例中“.demoform”就是綁定在form元素上的class名稱;
- btnSubmit:指定表單下的哪一個按鈕觸發表單提交事件,如果表單下有submit按鈕可以省略。示例中“.btn_sub”是該表單下要綁定點擊提交表單事件的按鈕,程序會在btnSubmit所在表單下查找該對象;
- btnReset:”.btn_reset”,//可選項 .btn_reset是該表單下要綁定點擊重置表單事件的按鈕;
- tiptype:1, //可選項 1=>pop box,2=>side tip,默認爲1,也可以傳入一個function函數,自定義提示信息的顯示方式(可以實現你想要的任何效果,具體參見demo頁);
- ignoreHidden:false,//可選項 true | false 默認爲false,當爲true時對:hidden的表單元素將不做驗證;
- dragonfly:false,//可選項 true | false 默認false,當爲true時,值爲空時不做驗證;
- tipSweep:可選項 true | false ,爲true時提示信息將只會在表單提交時觸發顯示,各表單元素blur時不會被觸發顯示;
- showAllError:可選項 true | false,true:提交表單時所有錯誤提示信息都會顯示,false:一碰到驗證不通過的就停止檢測後面的元素,只顯示該元素的錯誤信息;
- postonce:指定是否開啓網速慢時的二次提交防禦,true開啓,不指定則默認關閉;
- ajaxPost:使用ajax方式提交表單數據,可選值 true | false,默認false,將提交到action中指定的地址;
- datatype:傳入自定義datatype類型,可以是正則,也可以是函數(函數內會傳入一個參數),具體使用方法請參考demo頁;
- usePlugin:目前已整合swfupload、datepicker、passwordstrength和jqtransform四個插件,在這裏傳入這些插件使用時需要傳入的參數。datepicker在Validform內調用時另外擴展了幾個比較實用的參數,具體請參考demo頁;
- beforeCheck:在表單提交執行驗證之前執行的函數,data參數獲取到的是當前表單對象。
- beforeSubmit:在表單驗證通過,提交表單數據之前執行的函數,data參數是當前表單對象。
- callback:在使用ajax提交表單數據時,數據提交後的回調函數。返回數據data是Json格式,{“info”:”demo info”,”status”:”y”},info: 輸出提示信息,status: 返回提交數據的狀態,是否提交成功,”y”表示提交成功,”n”表示提交失敗,在ajax_post.php文件返回數據裏自定字符,主要用在callback函數里根據該值執行相應的回調操作。你也可以在ajax_post.php文件返回更多信息在這裏獲取,進行相應操作;如果不是ajax方式提交表單,傳入callback,這時data參數是當前表單對象,回調函數會在表單驗證全部通過後執行,然後判斷是否提交表單,如果callback裏明確return false,則表單不會提交,如果return true或沒有return,則會提交表單。
怎樣給表單元素綁定驗證類型?
示例代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
說明:
凡要驗證格式的元素均需添加datatype屬性,datatype可選值內置有10類,用來指定不同的驗證格式【如果還不能滿足您的驗證需求,可以傳入自定義datatype,自定義datatype是一個非常強大的功能,有了這個基本可以實現你需要的任何驗證需求,具體請參考demo頁】。
datatype:* | *6-16 | n | n6-16 | s | s6-18 | p | m | e | url
*:檢測是否有輸入,可以輸入任何字符,不留空即可通過驗證;
*6-16:檢測是否爲6到16位任意字符;
n:數字類型;
n6-16:6到16位數字;
s:字符串類型;
s6-18:6到18位字符串;
p:驗證是否爲郵政編碼;
m:手機號碼格式;
e:email格式;
url:驗證字符串是否爲網址。
注意radio,checkbox,select這三類datatype從5.0版本開始刪除,可以給這三類表單元素綁定其他任何內置或自定義的datatype。radio和checkbox元素只需給該組的第一個元素綁定datatype屬性即可。
其他的附加屬性:
- nullmsg:是指定沒有填入內容時出現的提示信息,不指定默認是“請填入信息!”,另外當datatype爲radio、checkbox或select時,因爲這三種類型只要爲空值就表示出錯,提示errormsg所指定信息,所以這三類不需要綁定該屬性;
- errormsg:是指定驗證格式不符時出現的提示信息,不指定默認是“請輸入正確信息!”;
- ignore:綁定ignore=”ignore”的表單元素,當有輸入時會驗證所填數據是否符合datatype所指定數據類型(格式不對不能通過驗證),當沒有輸入數據時也可以通過驗證;
- recheck:是用來指定兩個表單元素值一致性檢測的另外一個對象,賦給它另外一個對象的name屬性值即可;
- tip:是指定表單元素的提示信息;指定後該元素會有focus時提示信息消去,沒有輸入內容blur時出現提示信息的效果,請參看demo頁的“備註”效果;
- altercss:是指定有tip屬性的元素默認提示文字顯示時的樣式,當該元素focus時程序會把這個樣式去掉,blur時如果值爲空或者跟提示文字一樣則再加上該樣式;
- ajaxurl:指定ajax實時驗證的後臺文件路徑,給需要後臺數據庫驗證信息的對象綁定該屬性。注意該文件輸出的內容就是前臺顯示的驗證出錯的反饋信息,如果驗證通過請輸出小寫字母”y”。後臺頁面如valid.php文件中可以用 $_POST["param"] 接收到值,Ajax中會POST過來變量param;
- plugin:指定需要使用的插件。