亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery.Validate驗證庫的使用介紹

2019-11-20 22:46:13
字體:
來源:轉載
供稿:網友

jQuery.Validate驗證庫
1、下載jquery.validate,這里我提供jquery-validation-1.9.0,點擊下載

默認校驗規則

復制代碼 代碼如下:

(1)required:true               必輸字段
(2)remote:"check.php"          使用ajax方法調用check.php驗證輸入值
(3)email:true                  必須輸入正確格式的電子郵件
(4)url:true                    必須輸入正確格式的網址
(5)date:true                   必須輸入正確格式的日期
(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代碼保存為:messages_cn.js,并在頁面中引用:
復制代碼 代碼如下:

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

復制代碼 代碼如下:

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} 的值")
});

使用方式
1、將校驗規則寫到控件中
復制代碼 代碼如下:

<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">確認密碼</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

可以使用如下的方法,修改提示內容

復制代碼 代碼如下:

<input id="firstname" name="firstname" class="{required:true,minlength:5,messages:{required:'請輸入內容'}}" />

上面代碼表示:如果firstname域不填寫任何內容,則提示:請輸入內容。那么,如果填寫的內容長度小于5的話,提示用戶,該如何寫呢?請看下面代碼:
復制代碼 代碼如下:

<input id="firstname" name="firstname" class="{required:true,minlength:5,messages:{required:'請輸入內容',minlength:'字符串長度不能小于5'}}" />

注意:在使用equalTo關鍵字時,后面的內容必須加上引號,如下代碼:
復制代碼 代碼如下:

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

另外一個方式,使用關鍵字:meta

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

復制代碼 代碼如下:

<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:'請輸入內容',minlength:'字符串長度不能小于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">確認密碼</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>


注意:

規則部分應用完整形式,如下所示:

正確寫法:

復制代碼 代碼如下:

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

錯誤寫法:
復制代碼 代碼如下:

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

再有一種方式
復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

<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">確認密碼</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>


注意:規則部分應用完整形式,即

正確寫法:

復制代碼 代碼如下:

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

錯誤寫法:
復制代碼 代碼如下:

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

2、將校驗規則寫到代碼中
復制代碼 代碼如下:

<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: "請輸入姓名",
      email:
      {
        required: "請輸入Email地址",
        email: "請輸入正確的email地址"
      },
      password:
      {
        required: "請輸入密碼",
        minlength: jQuery.format("密碼不能小于{0}個字符")
      },
      confirm_password:
      {
        required: "請輸入確認密碼",
        minlength: "確認密碼不能小于5個字符",
        equalTo: "兩次輸入密碼不一致不一致"
      }
    }
  });
});
//messages處,如果某個控件沒有message,將調用默認的信息
</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">確認密碼</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被選中時,則需要驗證

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

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


下面針對上面三項內容,通過實例來說明一下,更易于理解。(第一個說明:required:true 必須有值 這項就不在舉例了,通過上面的示例,已經非常清楚。)

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

復制代碼 代碼如下:

<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: "請輸入姓名",
      email:
      {
        required: "請輸入Email地址",
        email: "請輸入正確的email地址"
      }
    }
  });
});
//messages處,如果某個控件沒有message,將調用默認的信息
</script>
<form id="signupForm" method="get" action="">
    <p>
        開關:
        <input id="open" name="open" type="radio" />
        <label for="open">打開</label>
        <input id="close" name="close" type="radio" />
        <label for="close">關閉</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>

當選中“打開”時,則對email進行驗證。

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

復制代碼 代碼如下:

<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: "請輸入姓名",
      email:
      {
        required: "請輸入Email地址",
        email: "請輸入正確的email地址"
      }
    }
  });
});
//messages處,如果某個控件沒有message,將調用默認的信息
</script>
<form id="signupForm" method="get" action="">
    <p>
        開關:
        <input id="open" name="open" type="radio" />
        <label for="open">打開</label>
        <input id="close" name="close" type="radio" />
        <label for="close">關閉</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>

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

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

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

定義樣式代碼

復制代碼 代碼如下:

/* 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 定義出錯信息的樣式

如下圖所示:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费一区视频观看免费| 亚洲色图35p| 亚洲欧美国产制服动漫| 国产精品一区二区三| 国产日韩在线播放| 亚洲欧美精品在线| 久久精品久久久久久国产 免费| 亚洲高清色综合| www.欧美精品一二三区| 国产丝袜一区二区三区| 98精品国产高清在线xxxx天堂| 欧美韩国理论所午夜片917电影| 北条麻妃在线一区二区| 国产精品久久中文| 精品国产区一区二区三区在线观看| 国产精品18久久久久久麻辣| 91精品久久久久久综合乱菊| 欧美成人免费va影院高清| 亚洲国产天堂网精品网站| 日韩欧美a级成人黄色| 日韩av中文字幕在线免费观看| 91在线观看免费高清完整版在线观看| 色偷偷综合社区| 亚洲精品国产福利| 久久久精品久久久| 成人黄色免费看| 精品久久久91| 久久久久久伊人| 色综合天天狠天天透天天伊人| 亚洲第一精品久久忘忧草社区| 欧美日韩国产精品一区| 亚洲男人av在线| 亚洲精品日产aⅴ| 亚洲国产免费av| 亚洲人精选亚洲人成在线| 91精品久久久久久久久久另类| 国产精品永久在线| 国产日韩精品视频| 国产成人亚洲精品| 亚洲欧美日韩另类| 国产午夜精品视频| 欧美日韩国产中文精品字幕自在自线| 欧美日韩国产精品一区二区不卡中文| 欧美重口另类videos人妖| 91av在线网站| 国内揄拍国内精品少妇国语| 国产一区二区三区在线看| 亚洲欧美日韩爽爽影院| 蜜月aⅴ免费一区二区三区| 久久色在线播放| 欧美怡红院视频一区二区三区| 久久久久久九九九| 欧美激情手机在线视频| 国内伊人久久久久久网站视频| 久久久久久久久久久网站| 精品日韩视频在线观看| 日韩一区二区三区在线播放| 欧美激情精品久久久久久久变态| 国产视频精品一区二区三区| 日韩大片在线观看视频| 欧美在线精品免播放器视频| 97精品久久久| 欧美二区乱c黑人| 国产精品入口尤物| 国产精品久久久久久久久借妻| 亚洲国产免费av| 国产午夜精品免费一区二区三区| 亚洲精品久久久久久久久久久久| 欧美日韩在线观看视频小说| 国产午夜一区二区| 久久国产精品首页| 欧美精品免费看| 亚洲人在线视频| 韩国19禁主播vip福利视频| 久久乐国产精品| 91国语精品自产拍在线观看性色| 日本一区二三区好的精华液| 国产亚洲a∨片在线观看| 中文字幕一区二区精品| 国产精品999| 久久综合伊人77777蜜臀| 亚洲免费一级电影| 国产精品69久久久久| 91在线观看免费高清| 午夜精品福利在线观看| 久久精品国产一区| 亚洲性猛交xxxxwww| 亚洲欧美日韩精品久久| 久热99视频在线观看| 日韩成人激情在线| 国产一区二区丝袜高跟鞋图片| 精品国产一区二区三区久久| 欧美激情精品久久久久久| 国产手机视频精品| 91精品国产综合久久香蕉的用户体验| 欧美性受xxx| 国产欧美一区二区| 欧美激情欧美狂野欧美精品| 欧美人交a欧美精品| 精品视频久久久| 欧美亚洲午夜视频在线观看| 日韩在线观看免费全| 亚洲欧美制服第一页| 亚洲欧洲在线看| 欧美日韩国产精品专区| 粉嫩老牛aⅴ一区二区三区| 亚洲免费人成在线视频观看| 日韩网站免费观看| 一本久久综合亚洲鲁鲁| 日韩精品极品在线观看| 日韩精品在线观看一区| 日韩亚洲综合在线| 国产日韩精品电影| 亚洲片av在线| 国产亚洲成精品久久| 欧美日韩精品在线观看| 日韩一区二区精品视频| 日韩av在线看| 黄网动漫久久久| 狠狠色香婷婷久久亚洲精品| 亚洲高清av在线| 国产在线高清精品| 亚洲成人av中文字幕| 欧美人在线观看| 欧美成人一区在线| 日韩av免费在线播放| 亚洲欧美国产精品va在线观看| 亚洲精品视频免费在线观看| 亚洲欧美日韩国产中文| 91影院在线免费观看视频| 成人在线视频网| 日韩美女写真福利在线观看| 日韩欧美亚洲国产一区| 欧美激情视频网| 欧美性猛交xxxx富婆| 精品高清一区二区三区| 日韩av大片在线| 国产99久久精品一区二区 夜夜躁日日躁| 久久国产色av| 国产欧美日韩精品专区| 亚洲电影免费观看高清完整版| 成人黄色免费网站在线观看| 欧美多人爱爱视频网站| 色悠悠久久88| 在线观看免费高清视频97| 成人深夜直播免费观看| 色999日韩欧美国产| 亚洲人成毛片在线播放| 97精品在线视频| 国产日本欧美一区二区三区在线| 亚洲乱码国产乱码精品精天堂| 日韩av电影免费观看高清| 国产成人精品av在线| 在线视频一区二区| 国产亚洲成av人片在线观看桃| 亚洲电影免费观看高清完整版| 国产欧美一区二区白浆黑人| 日韩成人在线网站| 国产色婷婷国产综合在线理论片a| 亚洲欧美一区二区三区情侣bbw| 欧美电影免费播放| 青青草原成人在线视频| 欧美激情一区二区三区高清视频| 欧美精品九九久久|