茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1670953 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
HoiHoiSan_00044.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2010/3/11 7:21:59

參看:http://docs.jquery.com/Plugins/Validation並整理



jquery.validate.js是jquery旗下的一個驗證框架,借助jquery的優勢,我們可以迅速驗證一些常見的輸入,並且可以自己擴充自己的驗證方法,並且對國際化也有很好的支持



使用這個函數很簡單,看以下的代碼



Html代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.css" 
type="text/css" media="screen" />
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<style type="text/css">
* { font-family: Verdana; font-size: 96%; }
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
</style>
  <script>
  $(document).ready(function(){
    $("#commentForm").validate();
  });
  </script>

</head>
<body>


 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
   <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <label for="cemail">E-Mail</label>
     <em>*</em><input id="cemail" name="email" size="25"  class="required email" />
   </p>
   <p>
     <label for="curl">URL</label>
     <em>  </em><input id="curl" name="url" size="25"  class="url" value="" />
   </p>
   <p>
     <label for="ccomment">Your comment</label>
     <em>*</em><textarea id="ccomment" name="comment" cols="22"  class="required"></textarea>
   </p>
   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
</body>
</html>


總結,我們只要在加入如下的JAVASCRIPT代碼,就可以把指定的FORM加上驗證



Html代碼:
$(document).ready(function(){
   $("#commentForm").validate();
 });
 $(document).ready(function(){
    $("#commentForm").validate();
  });


不過我們還要在需要驗證的INPUT裡面class加入required說明是必填項,其他的就是驗證相關數據比如email就是驗證email的數據結構



以下列出validate自帶的默認驗證
        required: "必選字段",
        remote: "請修正該字段",
        email: "請輸入正確格式的電子郵件",
        url: "請輸入合法的網址",
        date: "請輸入合法的日期",
        dateISO: "請輸入合法的日期 (ISO).",
        number: "請輸入合法的數字",
        digits: "只能輸入整數",
        creditcard: "請輸入合法的信用卡號",
        equalTo: "請再次輸入相同的值",
        accept: "請輸入擁有合法後綴名的字符串",
        maxlength: jQuery.format("請輸入一個長度最多是 {0} 的字符串"),
        minlength: jQuery.format("請輸入一個長度最少是 {0} 的字符串"),
        rangelength: jQuery.format("請輸入一個長度介於 {0} 和 {1} 之間的字符串"),
        range: jQuery.format("請輸入一個介於 {0} 和 {1} 之間的值"),
        max: jQuery.format("請輸入一個最大為 {0} 的值"),
        min: jQuery.format("請輸入一個最小為 {0} 的值")




validate ()的可選項



debug:進行調試模式
$(".selector").validate({
  debug: true
})
把調試設置為默認
$.validator.setDefaults({
  debug: true
})




submitHandler:用其他方式替代默認的SUBMIT,比如用AJAX的方式提交
$(".selector").validate({   \
  submitHandler: function(form) {
	  $(form).ajaxSubmit();
  }
})




ignore:忽略某些元素不驗證
$("#myform").validate({
  ignore: ".ignore"
})


rules: 默認下根據form的classes, attributes, metadata判斷,但也可以在validate函數里面聲明

Key/value 可自定義規則. Key是對象的名字 value是對象的規則,可以組合使用 class/attribute/metadata rules.

以下代碼特別驗證selector類中name='name'是必填項並且 email是既是必填又要符合email的格式
$(".selector").validate({
  rules: {
		// simple rule, converted to {required:true}
		name: "required",
		// compound rule
		email: {
		  required: true,
			email: true
		}
  }
})




messages:更改默認的提示信息
$(".selector").validate({
  rules: {
	  name: "required",
		email: {
		  required: true,
			email: true
		}
  },
	messages: {
	  name: "Please specify your name",
		email: {
		  required: "We need your email address to contact you",
			email: "Your email address must be in the format of name@domain.com"
		}
	}
})




groups:定義一個組,把幾個地方的出錯信息同意放在一個地方,用errorPlacement控制把出錯信息放在哪裡
$("#myform").validate({
  groups: {
	  username: "fname lname"
  },
	errorPlacement: function(error, element) {
	  if (element.attr("name") == "fname" || element.attr("name") == "lname" )
		  error.insertAfter("#lastname");
	  else
		  error.insertAfter(element);
	},
	debug:true
})


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lee576/archive/2008/12/03/3439072.aspx
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|