jQuery驗證控件jquery.validate.js+jquery.validate.unobtrusive.js的用法

jquery.validate.unobtrusive.js的用法: javascript

jquery.validate.unobtrusive.js使用上很簡潔,只要對Tag下幾個屬性便可以使用!php

引用JavaScript<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
最新的CDN JS引用能夠查看,http://www.asp.net/ajaxLibrary/CDN.ashx
 
<label for="tId">Domain Account:<label data-valmsg-for="tId"></label></label>
<input type="text" id="tId" runat="server" data-val="true" data-val-required="請輸入賬號"/><label for="tPwd">Password:<label data-valmsg-for="tPwd"></label></label>
<input type="text" id="tPwd" runat="server" runat="server" data-val="true" data-val-required="請輸入密碼"/>
 
<asp:Button ID="btnSignIn" runat="server" Text="Sign In" onclick="btnSignIn_Click" /> 測試jquery.validate.unobtrusive.js的用法
 
jQuery驗證控件jquery.validate.js:

jQuery校驗

官網地址: http://bassistance.de/jquery-plugins/jquery-plugin-validation

一導入js庫

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

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 java

3、默認的提示

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}.")
}, jquery

如須要修改,可在js代碼中加入: git

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

推薦作法,將此文件放入messages_cn.js中,在頁面中引入
<script src="../js/messages_cn.js" type="text/javascript"></script> mvc

4、使用方式

1.將校驗規則寫到控件中

<script src="../js/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>
<script src="./js/jquery.metadata.js" type="text/javascript"></script> asp.net

$().ready(function() {
$("#signupForm").validate();
}); less

<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

能夠使用以下的方法,修改提示內容:
class="{required:true,minlength:5,messages:{required:'請輸入內容'}}"

在使用equalTo關鍵字時,後面的內容必須加上引號,以下代碼:
class="{required:true,minlength:5,equalTo:'#password'}"

2.將校驗規則寫到js代碼中

$().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,將調用默認的信息

<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"表達式的值爲真,則須要驗證required:function(){}返回爲真,表時須要驗證後邊兩種經常使用於,表單中須要同時填或不填的元素

相關文章
相關標籤/搜索