jQuery validate驗證外掛程式使用詳解,jqueryvalidate

來源:互聯網
上載者:User

jQuery validate驗證外掛程式使用詳解,jqueryvalidate

Validate驗證外掛程式,內建豐富的驗證規則,還有靈活的自訂規則介面,HTML、CSS與JS之間的低耦合能讓您自由布局和豐富樣式,支援input,select,textarea的驗證。

Description

瀏覽器支援:IE7+ 、Chrome、Firefox、Safari、Mobile Browser

jQuery版本:1.7.0+

Usage
載入jQuery、validate

<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript" src="jquery-validate.js"></script>

DOM標籤驗證規則填寫

<div class="form_control"> <input class="required" value="315359131@qq.com" type="text" name="email" data-tip="請輸入您的郵箱" data-valid="isNonEmpty||isEmail" data-error="email不可為空||郵箱格式不正確"></div><div class="form_control"> <select class="required" data-valid="isNonEmpty" data-error="省份必填">  <option value="">請選擇省份</option>  <option value="001">001</option>  <option value="002">002</option> </select></div>

給需要驗證的表單元素的class填入required(不建議在這個class上做其他樣式)。
建議input用獨立div包裹,因為驗證的message是從當前input的父元素上append產生。
data-tip:在尚未驗證而擷取焦點時出現的提示。
data-valid:驗證規則,若有組合驗證,以||符號分割。
data-error:驗證錯誤提示,對應data-valid,以||符號分割。
單選/複選比較特殊,需要添加元素包裹單選/複選集合,並在包裹元素上加驗證規則。

<div class="form_control"> <span class="required" data-valid="isChecked" data-error="性別必選" data-type="radio">   <label><input type="radio" name="sex">男</label>   <label><input type="radio" name="sex">女</label>   <label><input type="radio" name="sex">未知</label> </span></div><div class="form_control"> <span class="required" data-valid="isChecked" data-error="標籤至少選擇一項" data-type="checkbox">   <label><input type="checkbox" name="label">紅</label>   <label><input type="checkbox" name="label">綠</label>   <label><input type="checkbox" name="label">藍</label> </span></div>

JS調用

//**注意:必須以表單元素調用validate** $('form').validate({  type:{   isChecked: function(value, errorMsg, el) {    var i = 0;    var $collection = $(el).find('input:checked');    if (!$collection.length) {     return errorMsg;    }   }  },  onFocus: function() {   this.parent().addClass('active');   return false;  },  onBlur: function() {   var $parent = this.parent();   var _status = parseInt(this.attr('data-status'));   $parent.removeClass('active');   if (!_status) {    $parent.addClass('error');   }   return false;  } });

表單提交前的驗證

 $('form').on('submit', function(event) {  event.preventDefault();  $(this).validate('submitValidate'); //return true or false; });

validate內建驗證規則

required:true 必輸欄位
remote:"check.php" 使用ajax方法調用check.php驗證輸入值
email:true 必須輸入正確格式的電子郵件
url:true 必須輸入正確格式的網址
date:true 必須輸入正確格式的日期
dateISO:true 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性
number:true 必須輸入合法的數字(負數,小數)
digits:true 必須輸入整數
creditcard: 必須輸入合法的信用卡號
equalTo:"#field" 輸入值必須和#field相同
accept: 輸入擁有合法尾碼名的字串(上傳檔案的尾碼)
maxlength:5 輸入長度最多是5的字串(漢字算一個字元)
minlength:10 輸入長度最小是10的字串(漢字算一個字元)
rangelength:[5,10] 輸入長度必須介於 5 和 10 之間的字串")(漢字算一個字元)
range:[5,10] 輸入值必須介於 5 和 10 之間
max:5 輸入值不能大於5
min:10 輸入值不能小於10

例子:
驗證使用者名稱,密碼,確認密碼,首頁,生日,郵箱
首先引入Jquery、引入jquery.validate.js、引入messages_cn.js並且為表單定義一個id,為需要驗證的控制項定義name屬性,並賦值,此外掛程式使用的是控制項的name屬性,而非id。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="jquery郵箱驗證.aspx.cs" Inherits="練習.jquery郵箱驗證" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <title></title>  <style type="text/css">  #aa{ color:Red;}  </style>   <script src="Jquery1.7.js" type="text/javascript"></script>  <script src="jquery.validate.js" type="text/javascript"></script>  <script src="messages_cn.js" type="text/javascript"></script>  <script type="text/javascript">    $(function () {    $('#form1').validate({      rules: {        username: { required: true, minlength: 6, maxlength: 12 },        password: { required: true, minlength: 6 },        passwordok:{required: true, equalTo: "#password"},        index: { required: true, url: true },        birthday: { required: true, dateISO: true },        bloodpress:{required: true,digits:true},        email: { required: true, email: true }    },    errorshow: function (error, element) {      error.appendTo(element.siblings('span'));    } })    })    </script></head><body>  <form id="form1" runat="server">  <div>  <table>  <tr><td>使用者名稱:</td><td>  <input name="username" type="text" /><span id="aa">*</span></td></tr>  <tr><td>密碼:</td><td>  <input id="password" name="password" type="text" /><span id="aa">*</span></td></tr>  <tr><td>確認密碼:</td><td>  <input id="repassword" name="passwordok" type="text" /><span id="aa">*</span></td></tr>   <tr><td>首頁:</td><td>  <input name="index" type="text" /><span id="aa">*</span></td></tr>  <tr><td>生日:</td><td>  <input name="birthday" type="text" /><span id="aa">*</span></td></tr>  <tr><td>血壓:</td><td>  <input name="bloodpress" type="text" /><span id="aa">*</span></td></tr> <tr><td>郵箱:</td><td><input name="email" type="text" /><span id="aa">*</span></td></tr> <tr><td></td><td>  <input id="Button1" type="button" value="button" /></td></tr></table>  </div>  </form></body></html>

實現如下效果:

以上就是本文的全部內容,希望對大家的學習有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.