表單驗證外掛jquery.validate.js
阿新 • • 發佈:2018-12-23
- <spanstyle="white-space:pre"></span>class="required" 必須填寫
- <spanstyle="white-space:pre"></span>class="required email" 必須填寫且內容符合Email格式驗證
- <spanstyle="white-space:pre"></span>class="url" 符合URL格式驗證
-
<spanstyle="white-space:pre"></
預設校驗規則
序號 | 規則 | 描述 |
---|---|---|
1 | required:true | 必須輸入的欄位。 |
2 | remote:"check.php" | 使用 ajax 方法呼叫 check.php 驗證輸入值。 |
3 | email:true | 必須輸入正確格式的電子郵件。 |
4 | url:true | 必須輸入正確格式的網址。 |
5 | date:true | 必須輸入正確格式的日期。日期校驗 ie6 出錯,慎用。 |
6 | dateISO:true | 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22。只驗證格式,不驗證有效性。 |
7 | number:true | 必須輸入合法的數字(負數,小數)。 |
8 | digits:true | 必須輸入整數。 |
9 | creditcard: | 必須輸入合法的信用卡號。 |
10 | equalTo:"#field" | 輸入值必須和 #field 相同。 |
11 | accept: | 輸入擁有合法字尾名的字串(上傳檔案的字尾)。 |
12 | maxlength:5 | 輸入長度最多是 5 的字串(漢字算一個字元)。 |
13 | minlength:10 | 輸入長度最小是 10 的字串(漢字算一個字元)。 |
14 | rangelength:[5,10] | 輸入長度必須介於 5 和 10 之間的字串(漢字算一個字元)。 |
15 | range:[5,10] | 輸入值必須介於 5 和 10 之間。 |
16 | max:5 | 輸入值不能大於 5。 |
17 | min:10 | 輸入值不能小於 10。 |
預設提示
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).", dateDE: "Bitte geben Sie ein gültiges Datum ein.", number: "Please enter a valid number.", numberDE: "Bitte geben Sie eine Nummer ein.", digits: "Please enter only digits", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", 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}.") },
如需要修改,可在 js 程式碼中加入:
jQuery.extend(jQuery.validator.messages, { required: "必選欄位", remote: "請修正該欄位", email: "請輸入正確格式的電子郵件", url: "請輸入合法的網址", date: "請輸入合法的日期", dateISO: "請輸入合法的日期 (ISO).", number: "請輸入合法的數字", digits: "只能輸入整數", creditcard: "請輸入合法的信用卡號", equalTo: "請再次輸入相同的值", accept: "請輸入擁有合法字尾名的字串", maxlength: jQuery.validator.format("請輸入一個 長度最多是 {0} 的字串"), minlength: jQuery.validator.format("請輸入一個 長度最少是 {0} 的字串"), rangelength: jQuery.validator.format("請輸入 一個長度介於 {0} 和 {1} 之間的字串"), range: jQuery.validator.format("請輸入一個介於 {0} 和 {1} 之間的值"), max: jQuery.validator.format("請輸入一個最大為{0} 的值"), min: jQuery.validator.format("請輸入一個最小為{0} 的值") });
推薦做法,將此檔案放入 messages_cn.js 中,在頁面中引入:
<script src="../js/messages_cn.js" type="text/javascript"></script>
5、使用Class="{}" 的時候
使用 class="{}" 的方式,必須引入包:jquery.metadata.js。
- <scriptsrc="js/jquery.metadata.js"type="text/javascript"></script>
可以使用如下的方法,修改提示內容:
class="{required:true,minlength:5,messages:{required:'請輸入內容'}}"
在使用 equalTo 關鍵字時,後面的內容必須加上引號,程式碼如下所示:
class="{required:true,minlength:5,equalTo:'#password'}"
以上就是jQuery.validate的基本用法,下面我附上整篇完整的程式碼,有需要的隨意拿走
- <!doctype html>
- <html>
- <head>
- <metacharset="utf-8">
- <title>表單驗證</title>
- </head>
- <scriptsrc="js/jquery-1.8.0.min.js"type="text/javascript"></script>
- <scriptsrc="js/jquery.validate.min.js"type="text/javascript"></script>
- <scriptsrc="js/jquery.metadata.js"type="text/javascript"></script>
- <body>
- <script>
- $().ready(function() {
- $("#signupForm").validate();
- //$("#signupForm").validate({meta: "validate"});
- });
- </script>
- <formid="signupForm"method="get"action="">
- <p>
- <labelfor="firstname">使用者名稱</label>
- <inputid="firstname"name="firstname"class="required"/>
- </p>
- <p>
- <labelfor="email">E-Mail</label>
- <inputid="email"name="email"class="required email"/>
- </p>
- <p>
- <labelfor="password">密 碼</label>
- <inputid="password"name="password"type="password"class="{required:true,minlength:5,messages:{required:'請輸入密碼'}}"/>
- </p>
- <p>
- <labelfor="confirm_password">確認密碼</label>
- <inputid="confirm_password"name="confirm_password"type="password"class="{required:true,minlength:5,equalTo:'#password'}"/>
- </p>
- <p>
- <inputclass="submit"type="submit"value="Submit"/>
- </p>
- </form>
- </body>
- </html>