jQuery驗證框架
8、應用實例
[1] 驗證頁面javascript
- <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
- <html>
- <head>
- <title>jquery驗證框架</title>
- <link rel="stylesheet" type="text/css" href="css/index.css">
- <script type="text/javascript" src=js/jquery-1.3.2.min.js></script>
- <script type="text/javascript" src=js/jquery.validate.pack.js></script>
- <script type="text/javascript" src=js/jquery.form.js></script>
- <script type="text/javascript" src=js/valid.js></script>
- <style type="text/css">
- label { width: 10em; float: left; }
- label.haha {color: red; padding-left: 18px; vertical-align: top;width: 196px; background: url("images/unchecked.gif") no-repeat;}
- input.haha { border: 1px solid red; }
- label.valid {background: url("images/checked.gif") no-repeat; color: #065FB9;}
- input.focus { border: 2px solid green; }
- ul li{ display: block;}
- </style>
- </head>
-
- <body>
-
- <div id="form_con">
- <form class="cmxform" id="myform" method="post" action="">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr>
- <td>用戶名</td>
- <td><input type="text" name="username" class="required" /></td>
- <td></td>
- </tr>
- <tr>
- <td>密碼</td>
- <td><input id="password" type="password" name="firstpwd" /></td>
- <td></td>
- </tr>
- <tr>
- <td>驗證密碼</td>
- <td><input type="password" name="secondpwd" /></td>
- <td></td>
- </tr>
- <tr>
- <td>性別</td>
- <td><input id="sex" type="radio" name="sex" />男<input type="radio" name="sex" />女</td>
- <td></td>
- </tr>
- <tr>
- <td>年齡</td>
- <td><input type="text" name="age" /></td>
- <td></td>
- </tr>
- <tr>
- <td>郵箱</td>
- <td><input type="text" name="email" /></td>
- <td></td>
- </tr>
- <tr>
- <td>我的網頁</td>
- <td><input type="text" name="purl" /></td>
- <td></td>
- </tr>
- <tr>
- <td>電話</td>
- <td><input type="text" name="telephone" /></td>
- <td></td>
- </tr>
- <tr>
- <td>附件</td>
- <td><input type="file" name="afile"/></td>
- <td></td>
- </tr>
- <tr><td colspan="3" ><input type="submit" name="submit" value="提交" /><button>重置</button></td></tr>
- </tbody>
- </table>
- </form>
- </div>
- </body>
- </html>
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<head>
<title>jquery驗證框架</title>
<link rel="stylesheet" type="text/css" href="css/index.css">
<script type="text/javascript" src=js/jquery-1.3.2.min.js></script>
<script type="text/javascript" src=js/jquery.validate.pack.js></script>
<script type="text/javascript" src=js/jquery.form.js></script>
<script type="text/javascript" src=js/valid.js></script>
<style type="text/css">
label { width: 10em; float: left; }
label.haha {color: red; padding-left: 18px; vertical-align: top;width: 196px; background: url("images/unchecked.gif") no-repeat;}
input.haha { border: 1px solid red; }
label.valid {background: url("images/checked.gif") no-repeat; color: #065FB9;}
input.focus { border: 2px solid green; }
ul li{ display: block;}
</style>
</head>
<body>
<div id="form_con">
<form class="cmxform" id="myform" method="post" action="">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>用戶名</td>
<td><input type="text" name="username" class="required" /></td>
<td></td>
</tr>
<tr>
<td>密碼</td>
<td><input id="password" type="password" name="firstpwd" /></td>
<td></td>
</tr>
<tr>
<td>驗證密碼</td>
<td><input type="password" name="secondpwd" /></td>
<td></td>
</tr>
<tr>
<td>性別</td>
<td><input id="sex" type="radio" name="sex" />男<input type="radio" name="sex" />女</td>
<td></td>
</tr>
<tr>
<td>年齡</td>
<td><input type="text" name="age" /></td>
<td></td>
</tr>
<tr>
<td>郵箱</td>
<td><input type="text" name="email" /></td>
<td></td>
</tr>
<tr>
<td>我的網頁</td>
<td><input type="text" name="purl" /></td>
<td></td>
</tr>
<tr>
<td>電話</td>
<td><input type="text" name="telephone" /></td>
<td></td>
</tr>
<tr>
<td>附件</td>
<td><input type="file" name="afile"/></td>
<td></td>
</tr>
<tr><td colspan="3" ><input type="submit" name="submit" value="提交" /><button>重置</button></td></tr>
</tbody>
</table>
</form>
</div>
</body>
</html>
[2] 驗證jscss
- $(function(){
- var validator = $("#myform").validate({
- debug: true,
- errorClass: "haha",
- focusInvalid: false,
- onkeyup: false,
- submitHandler: function(form){
- alert("提交表單");
-
- },
- rules: {
- username: {
- required: true,
- minlength: 2,
- remote: "uservalid.jsp"
- },
- firstpwd: {
- required: true,
-
- rangelength: [6,8]
- },
- secondpwd: {
- required: true,
- equalTo: "#password"
- },
- sex: {
- required: true
- },
- age: {
- required: true,
- range: [0,120]
- },
- email: {
- required: true,
- email: true
- },
- purl: {
- required: true,
- url: true
- },
- afile: {
- required: true,
- accept: "xls,doc,rar,zip"
- }
- },
- messages: {
- username: {
- required: "用戶名是必需的!",
- minlength: $.format("用戶名至少要{0}個字符!"),
- remote: $.format("{0}已經被佔用")
- },
- firstpwd: {
- required: "密碼是必需的!",
- rangelength: $.format("密碼要在{0}-{1}個字符之間!")
- },
- secondpwd: {
- required: "密碼驗證是必需的!",
- equalTo: "密碼驗證須要與密碼一致"
- },
- sex: {
- required: "性別是必需的"
- },
- age: {
- required: "年齡是必需的",
- range: "年齡必須介於{0}-{1}之間"
- },
- email: {
- required: "郵箱是必需的!",
- email: "請輸入正確的郵箱地址(例如 myemail@163.com)"
- },
- purl: {
- required: "我的主頁是必需的",
- url: "請輸入正確的url格式,如 http://www.domainname.com"
- },
- afile: {
- required: "附件是必需的!",
- accept: "只接收xls,doc,rar,zip文件"
- }
- },
- errorPlacement: function(error, element) {
- error.appendTo( element.parent("td").next("td") );
- },
- highlight: function(element, errorClass) {
- $(element).addClass(errorClass);
- },
- success: function(label) {
- label.addClass("valid").text("Ok!")
- }
-
-
-
-
-
-
-
-
-
- });
- $("button").click(function(){
- validator.resetForm();
- });
-
-
-
-
-
-
-
-
-
- });
$(function(){
var validator = $("#myform").validate({
debug: true, //調試模式取消submit的默認提交功能
errorClass: "haha",//默認爲錯誤的樣式類爲:error
focusInvalid: false,
onkeyup: false,
submitHandler: function(form){ //表單提交句柄,爲一回調函數,帶一個參數:form
alert("提交表單");
//form.submit(); 提交表單
},
rules: { //定義驗證規則,其中屬性名爲表單的name屬性
username: {
required: true,
minlength: 2,
remote: "uservalid.jsp" //傳說當中的ajax驗證
},
firstpwd: {
required: true,
//minlength: 6
rangelength: [6,8]
},
secondpwd: {
required: true,
equalTo: "#password"
},
sex: {
required: true
},
age: {
required: true,
range: [0,120]
},
email: {
required: true,
email: true
},
purl: {
required: true,
url: true
},
afile: {
required: true,
accept: "xls,doc,rar,zip"
}
},
messages: { //自定義驗證消息
username: {
required: "用戶名是必需的!",
minlength: $.format("用戶名至少要{0}個字符!"),
remote: $.format("{0}已經被佔用")
},
firstpwd: {
required: "密碼是必需的!",
rangelength: $.format("密碼要在{0}-{1}個字符之間!")
},
secondpwd: {
required: "密碼驗證是必需的!",
equalTo: "密碼驗證須要與密碼一致"
},
sex: {
required: "性別是必需的"
},
age: {
required: "年齡是必需的",
range: "年齡必須介於{0}-{1}之間"
},
email: {
required: "郵箱是必需的!",
email: "請輸入正確的郵箱地址(例如 myemail@163.com)"
},
purl: {
required: "我的主頁是必需的",
url: "請輸入正確的url格式,如 http://www.domainname.com"
},
afile: {
required: "附件是必需的!",
accept: "只接收xls,doc,rar,zip文件"
}
},
errorPlacement: function(error, element) { //驗證消息放置的地方
error.appendTo( element.parent("td").next("td") );
},
highlight: function(element, errorClass) { //針對驗證的表單設置高亮
$(element).addClass(errorClass);
},
success: function(label) {
label.addClass("valid").text("Ok!")
}
/*,
errorContainer: "#error_con", //驗證消息集中放置的容器
errorLabelContainer: "#error_con ul", //存放消息無序列表的容器
wrapper: "li", //將驗證消息用無序列表包圍
validClass: "valid", //經過驗證的樣式類
errorElement: "em", //驗證標籤的名稱,默認爲:label
success: "valid" //驗證經過的樣式類
*/
});
$("button").click(function(){
validator.resetForm();
});
//alert($("#password").rules()["required"]);
//validator.showErrors({"username": "用戶名是必需的"});
/*$("button").click(function () {
var str = "Hello {0}, this is {1}";
alert("'" + str + "'");
str = $.validator.format(str, ["koala","oo"]);
alert("'" + str + "'");
});*/
});
[3] 遠程驗證程序html
- <%@ page language="java" import="java.io.PrintWriter" pageEncoding="gb2312"%><%
- String username = request.getParameter("username");
- PrintWriter pw = response.getWriter();
- try{
- if(username.toLowerCase().equals("admin")){
- pw.println("true");
- }else{
- pw.println("false");
- }
- }catch(Exception ex){
- ex.getStackTrace();
- }finally{
- pw.flush();
- pw.close();
- }
- %>
<%@ page language="java" import="java.io.PrintWriter" pageEncoding="gb2312"%><%
String username = request.getParameter("username");
PrintWriter pw = response.getWriter();
try{
if(username.toLowerCase().equals("admin")){
pw.println("true");
}else{
pw.println("false");
}
}catch(Exception ex){
ex.getStackTrace();
}finally{
pw.flush();
pw.close();
}
%>
[4] 驗證效果
java