1. 程式人生 > >表單驗證外掛jquery.validate.js

表單驗證外掛jquery.validate.js

  1. <spanstyle="white-space:pre"></span>class="required"   必須填寫    
  2. <spanstyle="white-space:pre"></span>class="required email"        必須填寫且內容符合Email格式驗證    
  3. <spanstyle="white-space:pre"></span>class="url"             符合URL格式驗證    
  4. <spanstyle="white-space:pre"></
    span>minlength="2"      最小長度為2   

預設校驗規則

序號 規則 描述
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。

  1. <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的基本用法,下面我附上整篇完整的程式碼,有需要的隨意拿走

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <metacharset="utf-8">
  5. <title>表單驗證</title>
  6. </head>
  7. <scriptsrc="js/jquery-1.8.0.min.js"type="text/javascript"></script>
  8. <scriptsrc="js/jquery.validate.min.js"type="text/javascript"></script>
  9. <scriptsrc="js/jquery.metadata.js"type="text/javascript"></script>
  10. <body>
  11.     <script>
  12.     $().ready(function() {  
  13.      $("#signupForm").validate();  
  14.      //$("#signupForm").validate({meta: "validate"});  
  15.     });  
  16.     </script>
  17.     <formid="signupForm"method="get"action="">
  18.         <p>
  19.             <labelfor="firstname">使用者名稱</label>
  20.             <inputid="firstname"name="firstname"class="required"/>
  21.         </p>
  22.         <p>
  23.           <labelfor="email">E-Mail</label>
  24.           <inputid="email"name="email"class="required email"/>
  25.         </p>
  26.         <p>
  27.           <labelfor="password">密 碼</label>
  28.           <inputid="password"name="password"type="password"class="{required:true,minlength:5,messages:{required:'請輸入密碼'}}"/>
  29.         </p>
  30.         <p>
  31.           <labelfor="confirm_password">確認密碼</label>
  32.           <inputid="confirm_password"name="confirm_password"type="password"class="{required:true,minlength:5,equalTo:'#password'}"/>
  33.          </p>
  34.          <p>
  35.             <inputclass="submit"type="submit"value="Submit"/>
  36.          </p>
  37. </form>
  38. </body>
  39. </html>