欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery.Validate驗(yàn)證庫的使用介紹

 更新時(shí)間:2013年04月26日 11:10:21   作者:  
本篇文章介紹了,jQuery.Validate驗(yàn)證庫的使用。需要的朋友參考下

jQuery.Validate驗(yàn)證庫
1、下載jquery.validate,這里我提供jquery-validation-1.9.0,點(diǎn)擊下載

默認(rèn)校驗(yàn)規(guī)則

復(fù)制代碼 代碼如下:

(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                   必須輸入正確格式的日期
(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)的提示
復(fù)制代碼 代碼如下:

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代碼保存為:messages_cn.js,并在頁面中引用:
復(fù)制代碼 代碼如下:

<script language="JavaScript" type="text/JavaScript" src="messages_cn.js"></script>

復(fù)制代碼 代碼如下:

jQuery.extend(jQuery.validator.messages, {
  required: "必選字段",
  remote: "請(qǐng)修正該字段",
  email: "請(qǐng)輸入正確格式的電子郵件",
  url: "請(qǐng)輸入合法的網(wǎng)址",
  date: "請(qǐng)輸入合法的日期",
  dateISO: "請(qǐng)輸入合法的日期 (ISO).",
  number: "請(qǐng)輸入合法的數(shù)字",
  digits: "只能輸入整數(shù)",
  creditcard: "請(qǐng)輸入合法的信用卡號(hào)",
  equalTo: "請(qǐng)?jiān)俅屋斎胂嗤闹?,
  accept: "請(qǐng)輸入擁有合法后綴名的字符串",
  maxlength: jQuery.validator.format("請(qǐng)輸入一個(gè)長(zhǎng)度最多是 {0} 的字符串"),
  minlength: jQuery.validator.format("請(qǐng)輸入一個(gè)長(zhǎng)度最少是 {0} 的字符串"),
  rangelength: jQuery.validator.format("請(qǐng)輸入一個(gè)長(zhǎng)度介于 {0} 和 {1} 之間的字符串"),
  range: jQuery.validator.format("請(qǐng)輸入一個(gè)介于 {0} 和 {1} 之間的值"),
  max: jQuery.validator.format("請(qǐng)輸入一個(gè)最大為 {0} 的值"),
  min: jQuery.validator.format("請(qǐng)輸入一個(gè)最小為 {0} 的值")
});

使用方式
1、將校驗(yàn)規(guī)則寫到控件中
復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>

<script>
$().ready(function() {
  $("#signupForm").validate();
});
</script>

<form id="signupForm" method="get" action="">
    <p>
        <label for="firstname">Firstname</label>
        <input id="firstname" name="firstname" class="required" />
    </p>
 <p>
  <label for="email">E-Mail</label>
  <input id="email" name="email" class="required email" />
 </p>
 <p>
  <label for="password">Password</label>
  <input id="password" name="password" type="password" class="{required:true,minlength:5}" />
 </p>
 <p>
  <label for="confirm_password">確認(rèn)密碼</label>
  <input id="confirm_password" name="confirm_password" type="password" class="{required:true,minlength:5,equalTo:'#password'}" />
 </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>


使用class="{}"的方式,必須引入包:jquery.metadata.js

可以使用如下的方法,修改提示內(nèi)容

復(fù)制代碼 代碼如下:

<input id="firstname" name="firstname" class="{required:true,minlength:5,messages:{required:'請(qǐng)輸入內(nèi)容'}}" />

上面代碼表示:如果firstname域不填寫任何內(nèi)容,則提示:請(qǐng)輸入內(nèi)容。那么,如果填寫的內(nèi)容長(zhǎng)度小于5的話,提示用戶,該如何寫呢?請(qǐng)看下面代碼:
復(fù)制代碼 代碼如下:

<input id="firstname" name="firstname" class="{required:true,minlength:5,messages:{required:'請(qǐng)輸入內(nèi)容',minlength:'字符串長(zhǎng)度不能小于5'}}" />

注意:在使用equalTo關(guān)鍵字時(shí),后面的內(nèi)容必須加上引號(hào),如下代碼:
復(fù)制代碼 代碼如下:

class="{required:true,minlength:5,equalTo:'#password'}"

另外一個(gè)方式,使用關(guān)鍵字:meta

例如,將上面示例中的代碼改為關(guān)鍵字meta形式,代碼如下:

復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>

<script>
$().ready(function() {
  $("#signupForm").validate({meta: "validate"});
});
</script>

<form id="signupForm" method="get" action="">
    <p>
        <label for="firstname">Firstname</label>
    <input id="firstname" name="firstname" class="{validate:{required:true,minlength:5,messages:{required:'請(qǐng)輸入內(nèi)容',minlength:'字符串長(zhǎng)度不能小于5'}}}" />
 <p>
  <label for="email">E-Mail</label>
  <input id="email" name="email" class="{validate:{required:true, email:true}}" />
 </p>
 <p>
  <label for="password">Password</label>
  <input id="password" name="password" type="password" class="{validate:{required:true,minlength:5}}" />
 </p>
 <p>
  <label for="confirm_password">確認(rèn)密碼</label>
  <input id="confirm_password" name="confirm_password" type="password" class="{validate:{required:true,minlength:5,equalTo:'#password'}}" />
 </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>


注意:

規(guī)則部分應(yīng)用完整形式,如下所示:

正確寫法:

復(fù)制代碼 代碼如下:

<input id="email" name="email" class="{validate:{required:true, email:true}}" />

錯(cuò)誤寫法:
復(fù)制代碼 代碼如下:

<input id="email" name="email" class="{validate:{required email}}" />

再有一種方式
復(fù)制代碼 代碼如下:

$.metadata.setType("attr", "validate");

這樣可以使用validate="{required:true}"的方式,或者class="required",但class="{required:true,minlength:5}"將不起作用 

例如,將上面示例代碼改為:

復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>

<script>
$().ready(function() {
  $.metadata.setType("attr", "validate");
  $("#signupForm").validate();
});
</script>

<form id="signupForm" method="get" action="">
    <p>
        <label for="firstname">Firstname</label>
    <input id="firstname" name="firstname" validate="{required:true}" />
 <p>
  <label for="email">E-Mail</label>
  <input id="email" name="email" validate="{required:true, email:true}" />
 </p>
 <p>
  <label for="password">Password</label>
  <input id="password" name="password" type="password" validate="{required:true,minlength:5}" />
 </p>
 <p>
  <label for="confirm_password">確認(rèn)密碼</label>
  <input id="confirm_password" name="confirm_password" type="password" validate="{required:true,minlength:5,equalTo:'#password'}" />
 </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>


注意:規(guī)則部分應(yīng)用完整形式,即

正確寫法:

復(fù)制代碼 代碼如下:

<input id="email" name="email" validate="{required:true, email:true}" />

錯(cuò)誤寫法:
復(fù)制代碼 代碼如下:

<input id="email" name="email" validate="{required email}" />

2、將校驗(yàn)規(guī)則寫到代碼中
復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>
<script>
$().ready(function() {
  $("#signupForm").validate({
    rules:
    {
      firstname: "required",
      email:
      {
        required: true,
        email: true
      },
      password:
      {
        required: true,
        minlength: 5
      },
      confirm_password:
      {
        required: true,
        minlength: 5,
        equalTo: "#password"
      }
    },
    messages:
    {
      firstname: "請(qǐng)輸入姓名",
      email:
      {
        required: "請(qǐng)輸入Email地址",
        email: "請(qǐng)輸入正確的email地址"
      },
      password:
      {
        required: "請(qǐng)輸入密碼",
        minlength: jQuery.format("密碼不能小于{0}個(gè)字符")
      },
      confirm_password:
      {
        required: "請(qǐng)輸入確認(rèn)密碼",
        minlength: "確認(rèn)密碼不能小于5個(gè)字符",
        equalTo: "兩次輸入密碼不一致不一致"
      }
    }
  });
});
//messages處,如果某個(gè)控件沒有message,將調(diào)用默認(rèn)的信息
</script>
<form id="signupForm" method="get" action="">
    <p>
        <label for="firstname">Firstname</label>
        <input id="firstname" name="firstname" />
    </p>
 <p>
  <label for="email">E-Mail</label>
  <input id="email" name="email" />
 </p>
 <p>
  <label for="password">Password</label>
  <input id="password" name="password" type="password" />
 </p>
 <p>
  <label for="confirm_password">確認(rèn)密碼</label>
  <input id="confirm_password" name="confirm_password" type="password" />
 </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>

required:true 必須有值

required:"#aa:checked"id名稱為aa的dom被選中時(shí),則需要驗(yàn)證

required:function(){} 返回為真,表示需要驗(yàn)證(僅針對(duì)required有效,其它無效。)

后邊兩種常用于,表單中需要同時(shí)填或不填的元素


下面針對(duì)上面三項(xiàng)內(nèi)容,通過實(shí)例來說明一下,更易于理解。(第一個(gè)說明:required:true 必須有值 這項(xiàng)就不在舉例了,通過上面的示例,已經(jīng)非常清楚。)

required:"#aa:checked" 的示例如下:

復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>
<script>
$().ready(function() {
  $("#signupForm").validate({
    rules:
    {
      firstname: "required",
      email:
      {
        required: "#open:checked",
        email: true
      }
    },
    messages:
    {
      firstname: "請(qǐng)輸入姓名",
      email:
      {
        required: "請(qǐng)輸入Email地址",
        email: "請(qǐng)輸入正確的email地址"
      }
    }
  });
});
//messages處,如果某個(gè)控件沒有message,將調(diào)用默認(rèn)的信息
</script>
<form id="signupForm" method="get" action="">
    <p>
        開關(guān):
        <input id="open" name="open" type="radio" />
        <label for="open">打開</label>
        <input id="close" name="close" type="radio" />
        <label for="close">關(guān)閉</label>
    </p>
    <p>
      <label for="email">E-Mail</label>
      <input id="email" name="email" />
    </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>

當(dāng)選中“打開”時(shí),則對(duì)email進(jìn)行驗(yàn)證。

required:function(){}的示例如下:

復(fù)制代碼 代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript" type="text/JavaScript" src="jquery-1.6.1.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.validate.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="jquery.metadata.js"></script>
<script>
$().ready(function() {
  $("#signupForm").validate({
    rules:
    {
      firstname: "required",
      email:
      {
        required: function()
        {
          return true;
        },
        email: function()
        {
          return false;
        }
      }
    },
    messages:
    {
      firstname: "請(qǐng)輸入姓名",
      email:
      {
        required: "請(qǐng)輸入Email地址",
        email: "請(qǐng)輸入正確的email地址"
      }
    }
  });
});
//messages處,如果某個(gè)控件沒有message,將調(diào)用默認(rèn)的信息
</script>
<form id="signupForm" method="get" action="">
    <p>
        開關(guān):
        <input id="open" name="open" type="radio" />
        <label for="open">打開</label>
        <input id="close" name="close" type="radio" />
        <label for="close">關(guān)閉</label>
    </p>
    <p>
      <label for="email">E-Mail</label>
      <input id="email" name="email" />
    </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>

經(jīng)過測(cè)試得知,即使email:function(){return false}); 是返回false,但是required:function(){return true;},是返回true,那么,除了驗(yàn)證是否為空外,還驗(yàn)證email格式。也就是說email:function(){reuturn false;}設(shè)置無效。進(jìn)一步測(cè)試,去掉required:function(){return true;},只保留:email:function(){reuturn false;},仍然驗(yàn)證email格式。代碼如下:
復(fù)制代碼 代碼如下:

  $("#signupForm").validate({
    rules:
    {
      firstname: "required",
      email:
      {
        email: function()
        {
          return false;
        }
      }
    },
    messages:
    ......

注意:將校驗(yàn)規(guī)則單獨(dú)寫在文件中,如上面例子中的rules規(guī)則中的firstname,email等,問題是,在input中有id,又有name屬性,那JQuery Validation獲取哪個(gè)呢?通過測(cè)試,是獲取name屬性的。所以,rules中的key,是input的name屬性值,而不是id屬性值。

定義樣式代碼

復(fù)制代碼 代碼如下:

/* jQuery.Validate css */
input.error{border: 1px dotted red;}
label.error{
  background-image:url('del.gif');
  background-repeat:no-repeat;
  padding-left:18px;
  color: red;
}

input.error 定義input控件樣式

label.error 定義出錯(cuò)信息的樣式

如下圖所示:

相關(guān)文章

最新評(píng)論