說實話,填寫表單驗證是件很痛的事。
對於使用者而言,可以創建一份表單對他們面言是件更為痛苦的事,沒有人真正喜歡他們;對于開發者而言,當涉及到表單驗證時,最困難的并非僅僅是創建一份簡單且快速為用戶所接受使用,還要服務器端數據存儲,安全等更多問題的考慮.的確是相當的不容易.
本章將談一下如何使用Jqruery插件提供的強大的功能實現表單的驗證,希望對您的學習和工作有所幫助
1. 創建一個Java Web工程,并引入Jquery庫,和Jquery插件庫
2. 寫Jsp頁面的表單及驗證[index.jsp]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>無標題文檔</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style type="text/css">
body{
font-size:12px;
}
fieldset{
width:600px;
margin:0px auto;
border: 1px solid blue;
text-align:center;
}
em{
color:red;
}
label.error{
color:red;
margin-left:5px;
}
input.error{
border:1px dashed red;
}
input{
border: 1px solid blue;
}
</style>
<!-- 引入JQuery -->
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<!-- 引入JQuery验证插件 -->
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript">
$(function(){
$("#myform").validate({
rules:{
username:{
required:true,
rangelength:[6,12]
},
password:{
required:true,
rangelength:[6,12]
},
repassword:{
equalTo:"#password"
}
},
messages:{
username:{
required:'帳戶不能為空',
rangelength:'應該在6到12個字符之間'
},
password:{
required:'密碼不能為空',
rangelength:'應該在6到12個字符之間'
},
repassword:{
equalTo:'重復密碼不一致'
}
}
});
});
</script>
</head>
<body>
<form action="#" id="myform" name="myform">
<fieldset>
<legend>JQuery驗證插件的使用</legend>
<table>
<tr>
<td>用戶名:</td>
<td><input type="text" name="username"/><em>*</em></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="password" id="password"/><em>*</em></td>
</tr>
<tr>
<td>重複密碼:</td>
<td><input type="password" name="repassword"/><em>*</em></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交" />
</td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
3. 運行結果如下:
4 . 其它的驗證也和這些用法差不多,
$.validator.messages = {
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} 的值"),
uploadImage: "圖片限于bmp,png,gif,jpeg,jpg格式!"
};