您好,登錄后才能下訂單哦!
這篇文章主要介紹“jquery-validate怎么用”,在日常操作中,相信很多人在jquery-validate怎么用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jquery-validate怎么用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
jquery-validate是指表單驗(yàn)證插件,是基于jquery開(kāi)發(fā)的驗(yàn)證插件,為表單提供了強(qiáng)大的驗(yàn)證功能,讓客戶端表單驗(yàn)證變得更簡(jiǎn)單;該插件捆綁了一套有用的驗(yàn)證方法,包括URL和電子郵件驗(yàn)證,同時(shí)提供一個(gè)用來(lái)編寫用戶自定義方法的API。
本教程操作環(huán)境:windows7系統(tǒng)、jquery2.2.1&&jquery-validate1.14.0版本、Dell G3電腦。
jquery-validate是指表單驗(yàn)證插件,是基于jquery開(kāi)發(fā)的一個(gè)驗(yàn)證插件。
jQuery Validate 插件為表單提供了強(qiáng)大的驗(yàn)證功能,讓客戶端表單驗(yàn)證變得更簡(jiǎn)單,同時(shí)提供了大量的定制選項(xiàng),滿足應(yīng)用程序各種需求。該插件捆綁了一套有用的驗(yàn)證方法,包括 URL 和電子郵件驗(yàn)證,同時(shí)提供了一個(gè)用來(lái)編寫用戶自定義方法的 API。所有的捆綁方法默認(rèn)使用英語(yǔ)作為錯(cuò)誤信息,且已翻譯成其他 37 種語(yǔ)言。
該插件是由 J?rn Zaefferer 編寫和維護(hù)的,他是 jQuery 團(tuán)隊(duì)的一名成員,是 jQuery UI 團(tuán)隊(duì)的主要開(kāi)發(fā)人員,是 QUnit 的維護(hù)人員。該插件在 2006 年 jQuery 早期的時(shí)候就已經(jīng)開(kāi)始出現(xiàn),并一直更新至今。目前版本是 1.14.0。
訪問(wèn) jQuery Validate 官網(wǎng),下載最新版的 jQuery Validate 插件。
導(dǎo)入 js 庫(kù)
<script src="http://libs.cdnjs.net/jquery/2.2.1/jquery.js" rel="external nofollow" rel="external nofollow" ></script> <script src="http://libs.cdnjs.net/jquery-validate/1.14.0/jquery.validate.min.js" rel="external nofollow" rel="external nofollow" ></script>
默認(rèn)校驗(yàn)規(guī)則
序號(hào) | 規(guī)則 | 描述 |
---|---|---|
1 | required:true | 必須輸入的字段。 |
2 | remote:"check.php" | 使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。 |
3 | email:true | 必須輸入正確格式的電子郵件。 |
4 | url:true | 必須輸入正確格式的網(wǎng)址。 |
5 | date:true | 必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。 |
6 | dateISO:true | 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22。只驗(yàn)證格式,不驗(yàn)證有效性。 |
7 | number:true | 必須輸入合法的數(shù)字(負(fù)數(shù),小數(shù))。 |
8 | digits:true | 必須輸入整數(shù)。 |
9 | creditcard: | 必須輸入合法的信用卡號(hào)。 |
10 | equalTo:"#field" | 輸入值必須和 #field 相同。 |
11 | accept: | 輸入擁有合法后綴名的字符串(上傳文件的后綴)。 |
12 | maxlength:5 | 輸入長(zhǎng)度最多是 5 的字符串(漢字算一個(gè)字符)。 |
13 | minlength:10 | 輸入長(zhǎng)度最小是 10 的字符串(漢字算一個(gè)字符)。 |
14 | rangelength:[5,10] | 輸入長(zhǎng)度必須介于 5 和 10 之間的字符串(漢字算一個(gè)字符)。 |
15 | range:[5,10] | 輸入值必須介于 5 和 10 之間。 |
16 | max:5 | 輸入值不能大于 5。 |
17 | min:10 | 輸入值不能小于 10。 |
默認(rèn)提示
messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date ( ISO ).", number: "Please enter a valid number.", digits: "Please enter only digits.", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", maxlength: $.validator.format( "Please enter no more than {0} characters." ), minlength: $.validator.format( "Please enter at least {0} characters." ), rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ), range: $.validator.format( "Please enter a value between {0} and {1}." ), max: $.validator.format( "Please enter a value less than or equal to {0}." ), min: $.validator.format( "Please enter a value greater than or equal to {0}." ) }
jQuery Validate提供了中文信息提示包,位于下載包的 /localization/messages_zh.js,內(nèi)容如下:
(function( factory ) { if ( typeof define === "function" && define.amd ) { define( ["jquery", "../jquery.validate"], factory ); } else { factory( jQuery ); } }(function( $ ) { /* * Translated default messages for the jQuery validation plugin. * Locale: ZH (Chinese, 中文 (Zhōngwén), 漢語(yǔ), 漢語(yǔ)) */ $.extend($.validator.messages, { required: "這是必填字段", remote: "請(qǐng)修正此字段", email: "請(qǐng)輸入有效的電子郵件地址", url: "請(qǐng)輸入有效的網(wǎng)址", date: "請(qǐng)輸入有效的日期", dateISO: "請(qǐng)輸入有效的日期 (YYYY-MM-DD)", number: "請(qǐng)輸入有效的數(shù)字", digits: "只能輸入數(shù)字", creditcard: "請(qǐng)輸入有效的信用卡號(hào)碼", equalTo: "你的輸入不相同", extension: "請(qǐng)輸入有效的后綴", maxlength: $.validator.format("最多可以輸入 {0} 個(gè)字符"), minlength: $.validator.format("最少要輸入 {0} 個(gè)字符"), rangelength: $.validator.format("請(qǐng)輸入長(zhǎng)度在 {0} 到 {1} 之間的字符串"), range: $.validator.format("請(qǐng)輸入范圍在 {0} 到 {1} 之間的數(shù)值"), max: $.validator.format("請(qǐng)輸入不大于 {0} 的數(shù)值"), min: $.validator.format("請(qǐng)輸入不小于 {0} 的數(shù)值") }); }));
你可以將該本地化信息文件 /localization/messages_zh.js 引入到頁(yè)面:
<script src="http://libs.cdnjs.net/jquery-validate/1.14.0/localization/messages_zh.js" rel="external nofollow" rel="external nofollow" ></script>
使用方式
1、將校驗(yàn)規(guī)則寫到控件中
<script src="http://libs.cdnjs.net/jquery/2.2.1/jquery.js" rel="external nofollow" rel="external nofollow" ></script> <script src="http://libs.cdnjs.net/jquery-validate/1.14.0/jquery.validate.min.js" rel="external nofollow" rel="external nofollow" ></script> <script src="http://libs.cdnjs.net/jquery-validate/1.14.0/localization/messages_zh.js" rel="external nofollow" rel="external nofollow" ></script> <script> $.validator.setDefaults({ submitHandler: function() { alert("提交事件!"); } }); $().ready(function() { $("#commentForm").validate(); }); </script> <form class="cmxform" id="commentForm" method="get" action=""> <fieldset> <legend>輸入您的名字,郵箱,URL,備注。</legend> <p> <label for="cname">Name (必需, 最小兩個(gè)字母)</label> <input id="cname" name="name" minlength="2" type="text" required> </p> <p> <label for="cemail">E-Mail (必需)</label> <input id="cemail" type="email" name="email" required> </p> <p> <label for="curl">URL (可選)</label> <input id="curl" type="url" name="url"> </p> <p> <label for="ccomment">備注 (必需)</label> <textarea id="ccomment" name="comment" required></textarea> </p> <p> <input class="submit" type="submit" value="Submit"> </p> </fieldset> </form>
2、將校驗(yàn)規(guī)則寫到 js 代碼中
$().ready(function() { // 在鍵盤按下并釋放及提交后驗(yàn)證提交表單 $("#signupForm").validate({ rules: { firstname: "required", lastname: "required", username: { required: true, minlength: 2 }, password: { required: true, minlength: 5 }, confirm_password: { required: true, minlength: 5, equalTo: "#password" }, email: { required: true, email: true }, topic: { required: "#newsletter:checked", minlength: 2 }, agree: "required" }, messages: { firstname: "請(qǐng)輸入您的名字", lastname: "請(qǐng)輸入您的姓氏", username: { required: "請(qǐng)輸入用戶名", minlength: "用戶名必需由兩個(gè)字母組成" }, password: { required: "請(qǐng)輸入密碼", minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母" }, confirm_password: { required: "請(qǐng)輸入密碼", minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母", equalTo: "兩次密碼輸入不一致" }, email: "請(qǐng)輸入一個(gè)正確的郵箱", agree: "請(qǐng)接受我們的聲明", topic: "請(qǐng)選擇兩個(gè)主題" } }) });
messages 處,如果某個(gè)控件沒(méi)有 message,將調(diào)用默認(rèn)的信息
<form class="cmxform" id="signupForm" method="get" action=""> <fieldset> <legend>驗(yàn)證完整的表單</legend> <p> <label for="firstname">名字</label> <input id="firstname" name="firstname" type="text"> </p> <p> <label for="lastname">姓氏</label> <input id="lastname" name="lastname" type="text"> </p> <p> <label for="username">用戶名</label> <input id="username" name="username" type="text"> </p> <p> <label for="password">密碼</label> <input id="password" name="password" type="password"> </p> <p> <label for="confirm_password">驗(yàn)證密碼</label> <input id="confirm_password" name="confirm_password" type="password"> </p> <p> <label for="email">Email</label> <input id="email" name="email" type="email"> </p> <p> <label for="agree">請(qǐng)同意我們的聲明</label> <input type="checkbox" class="checkbox" id="agree" name="agree"> </p> <p> <label for="newsletter">我樂(lè)意接收新信息</label> <input type="checkbox" class="checkbox" id="newsletter" name="newsletter"> </p> <fieldset id="newsletter_topics"> <legend>主題 (至少選擇兩個(gè)) - 注意:如果沒(méi)有勾選“我樂(lè)意接收新信息”以下選項(xiàng)會(huì)隱藏,但我們這里作為演示讓它可見(jiàn)</legend> <label for="topic_marketflash"> <input type="checkbox" id="topic_marketflash" value="marketflash" name="topic">Marketflash </label> <label for="topic_fuzz"> <input type="checkbox" id="topic_fuzz" value="fuzz" name="topic">Latest fuzz </label> <label for="topic_digester"> <input type="checkbox" id="topic_digester" value="digester" name="topic">Mailing list digester </label> <label for="topic" class="error">Please select at least two topics you'd like to receive.</label> </fieldset> <p> <input class="submit" type="submit" value="提交"> </p> </fieldset> </form>
說(shuō)明:
required: true 值是必須的。
required: "#aa:checked" 表達(dá)式的值為真,則需要驗(yàn)證。
required: function(){} 返回為真,表示需要驗(yàn)證。
后邊兩種常用于,表單中需要同時(shí)填或不填的元素。
常用方法及注意問(wèn)題
1、用其他方式替代默認(rèn)的 SUBMIT
$().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("提交事件!"); form.submit(); } }); });
使用 ajax 方式
$(".selector").validate({ submitHandler: function(form) { $(form).ajaxSubmit(); } })
可以設(shè)置 validate 的默認(rèn)值,寫法如下:
$.validator.setDefaults({ submitHandler: function(form) { alert("提交事件!");form.submit(); } });
如果想提交表單, 需要使用 form.submit(),而不要使用 $(form).submit()。
2、debug,只驗(yàn)證不提交表單
如果這個(gè)參數(shù)為true,那么表單不會(huì)提交,只進(jìn)行檢查,調(diào)試時(shí)十分方便。
$().ready(function() { $("#signupForm").validate({ debug:true }); });
如果一個(gè)頁(yè)面中有多個(gè)表單都想設(shè)置成為 debug,則使用:
$.validator.setDefaults({ debug: true })
3、ignore:忽略某些元素不驗(yàn)證
ignore: ".ignore"
4、更改錯(cuò)誤信息顯示的位置
errorPlacement:Callback
指明錯(cuò)誤放置的位置,默認(rèn)情況是:error.appendTo(element.parent());即把錯(cuò)誤信息放在驗(yàn)證的元素后面。
errorPlacement: function(error, element) { error.appendTo(element.parent()); }
到此,關(guān)于“jquery-validate怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。