项目使用 jquery.validate.js 对表单进行了验证,jquery.validate 还是很强大的,下面说一些常用的验证
1.项目先要导入js库
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.validate.js"></script>
JS 版本:
jQuery JavaScript Library v1.9.0
jQuery Validation Plugin 1.11.1
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:true 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (12)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (13)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (14)range:[5,10] 输入值必须介于 5 和 10 之间 (15)max:5 输入值不能大于5 (16)min:10 输入值不能小于10
3.用法
用法分两种,
第一, 直接在标签元素上验证
第二, jquery提交表单在提交时进行验证
先看一下,第一种,直接在标签元素上验证
1) 验证规则是布尔类型的
(1)required:true 必输字段 (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:true 必须输入合法的信用卡号 下面是举例: 非空验证:<input type="text" id="contractName" name="contractName" class="required" /> Email验证:<input type="text" id="contractName" name="contractName" class="email" /> ...... ...... 等等,布尔类型都可以class="验证规则" ,多个可以用空格分割 如: class="required email"
2) 验证规则带参数的
带1个参数 (10)equalTo:"#field" 输入值必须和#field相同 (11)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (12)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (15)max:5 输入值不能大于5 (16)min:10 输入值不能小于10 带2个参数 (13)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (14)range:[5,10] 输入值必须介于 5 和 10 之间 带参数的就直接当做元素属性写在元素中, 举例: 必填并且验证和ID为contractNo的元素值相同:<input type="text" id="contractName" name="contractName" class="required" equalTo="#contractNo" /> 最小长度 :<input type="text" id="contractName" name="contractName" minlength="5" /> maxlength max,min都是一样的使用 长度介于1和10之间: <input type="text" id="contractName" name="contractName" rangelength="1,10"/> range用法同上
第二种,使用jquery提交表单在提交时进行验证的
用法: rules:{ 要验证的html元素ID:{ //验证规则 } }
验证用户名是否存在,
$("#form").validate({ submitHandler:function(form){ //提交表单 }, errorPlacement: function(label, element) { label.insertAfter(element); }, rules:{ serialId:{ required:true }, userName: { required:true, remote:{ //验证用户名是否存在 type:"POST", url:"${pageContext.request.contextPath}/systemuser/checkUserExist.do", data:{ propName:'userName', propVal:function(){ return $("#userName").val(); } } } }, userPassword:{ required:true }, userRole:{ required:true } }, messages: { userName: { remote:"该用户名已经存在!" } }, invalidHandler: function(form, validator) { return false; } }); //验证范围,介于5到9之间 range:"5,9" //长度最大值 maxlength:10 . . . . 等等..都可以尝试一下.
下面也是介绍jquery validate 的文章,大家也可以看看
jQuery验证控件jquery.validate.js使用说明+中文API http://www.cnblogs.com/hejunrex/archive/2011/11/17/2252193.html
W3cSchool http://www.w3cschool.cc/jquery/jquery-plugin-validate.html
Jquery 验证详解一 http://blog.sina.com.cn/s/blog_608475eb0100h3h1.html