jquery的validate表单验证框架

本文是根据jquery官方的实例做的相应的修改,做这个实例的目的就是当以后项目中遇到表单验证的时候就可以依照本文所写的实例做相应的修改,本文如果有什么不当的地方,麻烦请批评指出,谢谢!
1.先建一个测试页面,必须包括表单:
导入相应的资源文件:

<link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
<script type="text/javascript" src="js/jquery-1.5.1.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>


2.新建规则及设置样式:

<script type="text/javascript">
$.validator.setDefaults({
submitHandler: function() { alert("submitted!"); }
});

$().ready(function() {
// 当提交的时候,判断表单内容
$("#testForm").validate();
$("#signupForm").validate({
rules: {
firstname : "required",
lastname : "required",
username : {
required : true,
minlength: 5,
maxlength: 10
},
email: {
required: true,
email: true
},
password : {
required : true,
minlength: 5
},
confirm_password : {
required : true,
minlength: 5,
equalTo : "#password"
},
topic: {
required: "#newsletter:checked",
minlength: 2
},
agree : "required"

},

messages: {
firstname : {
required : "姓不能为空!",
},
lastname : {
required : "名不能为空!"
},
username : {
required : "用户名不能为空,且必须在5到10个字符之内!",
minlength: "用户不能小于5个字符",
maxlength: "用户名不能大于10个字符"
},
password : {
required : "请提供一个密码",
minlength : "密码至少为5个字符以上!"
},
confirm_password : {
required : "确认密码不能为空!",
minlength: "确认密码也至少为5个字符以上!",
equalTo : "两次输入的密码不匹配!"
},
email : "请提供个合法的邮箱地址!",
agree : "请选择是/否同意"
}
});

//隐藏主题选项,当主题没有被选中时
var newsletter = $("#newsletter");
// 一开始是隐藏选项的
var inital = newsletter.is(":checked");
var topics = $("#newsletter_topics")[inital ? "removeClass" : "addClass"]("gray");
var topicInputs = topics.find("input").attr("disabled", !inital);
// 显示主题选项,当主题被选中时
newsletter.click(function() {
topics[this.checked ? "removeClass" : "addClass"]("gray");
topicInputs.attr("disabled", !this.checked);
});
});
</script>

<style type="text/css">
#testForm { width: 500px; }
#testForm label { width: 250px; }
#testForm label.error, #testForm input.submit { margin-left: 253px; }
#signupForm { width: 670px; }
#signupForm label.error {
margin-left: 10px;
width: auto;
display: inline;
}
#newsletter_topics label.error {
display: none;
margin-left: 103px;
}
</style>


3.创建两个表单:


<form class="cmxform" id="testForm" method="post" action="">
<fieldset>
<legend>Please provide your name, email address (won't be published) and a comment</legend>
<p>
<label for="cname">用户名(*)</label>
<input id="cname" name="name" class="required" minlength="2" />
<p>
<label for="cemail">邮箱(*)</label>
<input id="cemail" name="email" class="required email" />
</p>
<p>
<label for="ccomment">评论(*)</label>
<textarea id="ccomment" name="comment" class="required"></textarea>
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</fieldset>
</form>

<form class="cmxform" id="signupForm" method="get" action="">
<fieldset>
<legend>Validating a complete form</legend>
<p>
<label for="firstname">Firstname</label>
<input id="firstname" name="firstname" />
</p>
<p>
<label for="lastname">Lastname</label>
<input id="lastname" name="lastname" />
</p>
<p>
<label for="username">Username</label>
<input id="username" name="username" />
</p>
<p>
<label for="password">Password</label>
<input id="password" name="password" type="password" />
</p>
<p>
<label for="confirm_password">Confirm password</label>
<input id="confirm_password" name="confirm_password" type="password" />
</p>
<p>
<label for="email">Email</label>
<input id="email" name="email" />
</p>
<p>
<label for="agree">Please agree to our policy</label>
<input type="checkbox" class="checkbox" id="agree" name="agree" />
</p>
<p>
<label for="newsletter">I'd like to receive the newsletter</label>
<input type="checkbox" class="checkbox" id="newsletter" name="newsletter" />
</p>
<fieldset id="newsletter_topics">
<legend>Topics (select at least two) - note: would be hidden when newsletter isn't selected, but is visible here for the demo</legend>
<label for="topic_marketflash">
<input type="checkbox" id="topic_marketflash" value="marketflash" name="topic" />
Marketflash
</label>
<label for="topic_fuzz">
<input type="checkbox" id="topic_fuzz" value="fuzz" name="topic" />
Latest fuzz
</label>
<label for="topic_digester">
<input type="checkbox" id="topic_digester" value="digester" name="topic" />
Mailing list digester
</label>
<label for="topic" class="error">Please select at least two topics you'd like to receive.</label>
</fieldset>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</fieldset>
</form>



4.下载相应的资源文件:见附件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值