jQuery validate 表单验证,涵盖各种类型数据

本来觉得用这个会很难,结果试了试,发现却是简单了不少东西啊,什么getElementById,if 什么的,只用几个属性名 什么的就可以解决不同状态显示不同提示,很强大很方便。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/common/common.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="${ctx }"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jQuery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="jQuery/jquery.validate.min.js"></script>
<style type="text/css">
        body
        {
            font-size:12px;
        }
        /* form中显示文字的label */
        .slabel
        {
            width:100px;
            display: -moz-inline-box;
            line-height: 1.8;
            display: inline-block;
            text-align:right;
        }
        /* 出错样式 */
        input.error, textarea.error
        {
            border: solid 1px #CD0A0A;
        }
        label.error
        {
            color:#CD0A0A;
            margin-left:5px;
        }
        /* 深红色文字 */
        .textred
        {
            color:#CD0A0A;
        }
    </style>
<script type="text/javascript">

</script>
</head>
<body>    

 <form id="commentForm" method="get" action="">
    <fieldset style="width:500px;"><legend>表单验证</legend>
    <div id="messageBox"></div> <!-- 此容器用于汇总显示错误信息 -->  
        <p><label for="cname" class="slabel"><em class="textred">*</em> 姓名:</label>
            <input id="cname" name="name"  class="required" minlength="2"   maxlength="5"  />
        </p>

        <p><label for="cemail" class="slabel"><em class="textred">*</em> E-Mail:</label>
            <input id="cemail" name="email" />
        </p>
        
        <p><label for="curl" class="slabel">年龄:</label>            
            <input id="age" name="age" class="required" value="" />
        </p>
        
        <p><label for="curl" class="slabel">密码:</label>            
            <input type="password" id="pwd1" name="pwd1" minlength="6" maxlength="16"  class="required"  />
        </p>
        <p><label for="curl" class="slabel">确认密码:</label>            
            <input type="password" id="pwd2" name="pwd2"  class="required" equalTo="#pwd1" />
        </p>
        
        <p style="text-align:center;">
            <input class="submit" type="submit" value="提交" />
        </p>
    </fieldset>
    </form>
<script type="text/javascript">   
           $("#commentForm").validate({
               errorClass: "error",
               
               submitHandler: function(form)
               {
                   //如果想提交表单, 需要使用form.submit()而不要使用$(form).submit()
                   alert("submitted!");
               },
               rules: {//为控件添加两个验证方法
                      name: { required: true, minlength: 2 },
                   email: { required: true, email: true },
                   age:{required: true, number: true, min:18},
                   pwd1:{required: true, minlength: 6  },
                   pwd2:{required: true, equalTo: "#pwd1"   }
               },
               messages: {//为验证方法设置验证失败的消息内容
                      name: {required:"需要输入姓名", minlength:"字符长度不能小于{0}个字符"},
                   email: {required:"需要输入电子邮箱", email:"电子邮箱格式不正确"},
                   age:{required:"必须填写",  number:"请输入数字",min:jQuery.format("必须年满{0}.")},
                   pwd1:{ required: "请填写密码",minlength: "字符长度不能小于{0}个字符"   },
                   pwd2:{required: "请再次输入密码", equalTo: "密码不一致"  }
               },              
           });     
</script>
</body>
</html>

  不过像时间类型的我没有写,因为现在大多数,都用的一些时间空间什么的,我想格式上不会有错误,就只用 required 这个属性,确定下是否为空就好了。而且 numbe 这个属性也很强大,输入浮点型的依然可以,当然,有时候要求必须输入整形,就用 digits 代替 numbe 吧。还有什么样的值要进行判定,可参考下列校验规则:

默认校验规则
(1)required:true               必输字段
(2)remote:"check.php"          使用ajax方法调用check.php验证输入值
(3)email:true                  必须输入正确格式的电子邮件
(4)url:true                    必须输入正确格式的网址
(5)date:true                   必须输入正确格式的日期
(6)dateISO:true                必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true                 必须输入合法的数字(负数,小数)
(8)digits:true                 必须输入整数
(9)creditcard:                 必须输入合法的信用卡号
(10)equalTo:"#field"           输入值必须和#field相同
(11)accept:                    输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5                输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10               输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10]         输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)range:[5,10]               输入值必须介于 5 和 10 之间
(16)max:5                      输入值不能大于5
(17)min:10                     输入值不能小于10
validate.min.js 的下载地址! 

 https://files.cnblogs.com/pengain/jquery.validate.min.js

 

posted @ 2012-05-11 23:21  pengain  阅读(728)  评论(0编辑  收藏  举报