在这节我们将使用validation插件实现注册页面的验证功能,通过这个例子,可以更全面的掌握该插件的使用功能。
页面样式代码:
<
style
type
="text/css"
>
.header
{
background-color
:
#CCCCCC
;
color
:
White
;
font-size
:
x-large
;
}
.content
{
background-color
:
White
;
font-weight
:
lighter
;
font-size
:
small
;
}
.content td
{
text-align
:
left
;
}
.mandatory
{
color
:
Red
;
}
.errorContainer
{
display
:
none
;
margin-bottom
:
20px
;
}
.alertMsg
{
margin-left
:
20px
;
color
:
#660000
;
}
.input-highlight
{
background-color
:
#CCCCCC
;
}
</
style
>
页面结构代码:
<
form
id
="form1"
runat
="server"
>
<
div
align
="center"
>
<
div
align
="center"
class
="errorContainer"
>
<
fieldset
style
="width: 550px;"
>
<
p
align
="left"
class
="alertMsg"
>
这里有一些错误注册提示信息,根据提示请核实您注册信息格式是否正确:
</
p
>
</
fieldset
>
</
div
>
<
fieldset
style
="width: 350px; height: 400px"
>
<
table
cellpadding
="3"
cellspacing
="3"
border
="0"
class
="content"
>
<
tr
>
<
td
colspan
="2"
class
="header"
style
="text-align: center;"
>
注册用户
</
td
>
</
tr
>
<
tr
>
<
td
>
用户名
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtName"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Email
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtEmail"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
密码
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtPassword"
runat
="server"
TextMode
="Password"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
确认密码
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtConfirmPwd"
runat
="server"
TextMode
="Password"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
生日
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtDOB"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
地址1
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtAddress1"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
地址2
</
td
>
<
td
>
<
asp:TextBox
ID
="txtAddress2"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
邮政编号
<
span
class
="mandatory"
>
*
</
span
>
</
td
>
<
td
>
<
asp:TextBox
ID
="txtPostal"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
网站
</
td
>
<
td
>
<
asp:TextBox
ID
="txtWebsite"
runat
="server"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
="2"
>
<
asp:CheckBox
ID
="chkTandC"
runat
="server"
/>
我接受相关法律条款
</
td
>
</
tr
>
<
tr
>
<
td
colspan
="2"
style
="text-align: center;"
>
<
asp:Button
ID
="btnSubmit"
Text
="提交"
runat
="server"
/>
<
asp:Button
ID
="btnReset"
Text
="重置"
runat
="server"
/>
</
td
>
</
tr
>
</
table
>
</
fieldset
>
</
div
>
</
form
>
脚本代码:
先引入脚本文件:
<
script
src
="Scripts/jquery-1.4.1-vsdoc.js"
type
="text/javascript"
></
script
>
<
script
src
="Scripts/jquery.validate.js"
type
="text/javascript"
></
script
>
<
script
src
="Scripts/jquery.form.js"
type
="text/javascript"
></
script
>
脚本功能代码:
<
script
type
="text/javascript"
>
$(document).ready(
function
() {
//
在这里设置默认的操作行为
$.validator.setDefaults({
highlight:
function
(input) {
$(input).addClass(
"
input-highlight
"
);
},
unhighlight:
function
(input) {
$(input).removeClass(
"
input-highlight
"
);
}
});
//
然后调用函数validate()开始对form校验
$(
"
#form1
"
).validate({
rules: { txtName:
"
required
"
,
//
验证邮件格式是否正确,设置email属性为true
txtEmail: { required:
true
, email:
true
},
txtPassword: { required:
true
, minlength:
8
},
//
在这里equalTo属性的作用是验证确认密码必须和之前输入的密码相等
txtConfirmPwd: { required:
true
, minlength:
8
, equalTo:
"
#txtPassword
"
},
//
验证日期格式是否正确,设置date属性为true;
txtDOB: { required:
true
, date:
true
},
//
通过属性maxlength设置文本最大长度
txtAddress1: { required:
true
, maxlength:
200
},
txtAddress2: { maxlength:
200
},
//
digits属性设置输入的内容必须为数字
txtPostal: { required:
true
, digits:
true
},
//
url属性验证是否输入为合法的网址
txtWebsite: { url:
true
},
chkTandC:
"
required
"
},
messages: { txtName:
"
请输入您的姓名
"
,
txtEmail: { required:
"
请输入您的Email
"
,
email:
"
请输入一个合法的email地址
"
},
txtPassword: { required:
"
请输入您的密码
"
,
minlength:
"
密码长度必须大于8
"
},
txtConfirmPwd: { required:
"
请输入您的确认密码
"
,
minlength:
"
确认的密码长度必须大于8
"
,
equalTo:
"
请保证输入的密码和确认的密码要一样
"
},
txtDOB: { required:
"
请输入您的生日
"
,
date:
"
您输入的生日日期格式不对
"
},
txtAddress1: { required:
"
请输入您的地址1
"
,
maxlength:
"
您输入的地址1长度不能超过200
"
},
txtAddress2: { maxlength:
"
您输入的地址1长度不能超过200
"
},
txtPostal: { required:
"
请输入您的邮政编号
"
,
digits:
"
您输入的邮政编号必须都为数字
"
},
txtWebsite: { url:
"
请输入一个合法的网址
"
},
chkTandC: { required:
"
请接受相关法律条款
"
}
},
wrapper:
"
li
"
,
errorContainer: $(
"
div.errorContainer
"
),
errorLabelContainer: $(
"
#form1 p.alertMsg
"
)
});
$(
"
#btnReset
"
).click(
function
(e) {
e.preventDefault();
//
这里使用了插件form的resetForm()函数,恢复到第一次加载页面的状态
$(
"
#form1
"
).resetForm();
});
});
</
script
>
注意:样式选择器div.errorContainer和div .errorContainer的含义不一样,第一个是选择所有带样式类errorContainer的div元素,而第二个是选择div元素里面的后代所有带样式类errorContainer的元素。
最终效果图:

