validation插件

1、项目下载地址:http://plugins.jquery.com/validation/

2、引入

<script type="text/javascript" src="${base}/js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="${base}/js/jquery.validate.js"></script>
<script type="text/javascript" src="${base}/js/messages_zh.js"></script>

3、form元素

<form id="myform" method="post" action="#" enctype="application/x-www-form-urlencoded">
    <fieldset>
        <legend>表单验证示例</legend>
        <p>
            <label for="name">姓名:</label><em>*</em>
            <input id="name" name="name" type="text" size="30"/>
        </p>
        <p>
            <label for="password">密码:</label><em>*</em>
            <input id="password" name="password" type="password" size="30"/>
        </p>
        <p>
            <label for="password">密码:</label><em>*</em>
            <input id="password2" name="password2" type="password" size="30"/>
        </p>
        <p>
            <label for="email">电子邮件:</label><em>*</em>
            <input id="email" name="email" size="30"/>
        </p>
        <p>
            <input id="submit" type="submit" />
            <input id="reset" type="reset" />
        </p>
    </fieldset>
</form>

4、验证

<script type="text/javascript">
    $(function(){
        $("#myform").validate({
            rules:{
                name:{
                    required:true,
                    minlength:3
                },
                password:{
                    required:true,
                    minlength:6
                },
                password2:{
                    required:true,
                    minlength:6,
                    equalTo:'#password'
                },
                email:{
                    required:true,
                    email:true
                }                
            },
            messages:{
                name:{
                    required:"名称必填",
                    minlength:'长度最小为3'
                },
                password:{
                    required:"密码必填",
                    minlength:'长度最小为6'
                },
                password2:{
                    required:"密码必填",
                    minlength:'长度最小为6',
                    equalTo:'两次输入不一致'
                },
                email:{
                    required:"邮件地址必填",
                    email:'必须是邮件地址'
                }
            }
        });
    });
</script>

5、添加自定义验证规则

// http://docs.jquery.com/Plugins/Validation/Validator/addMethod
    addMethod: function( name, method, message ) {
        $.validator.methods[name] = method;
        $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];
        if ( method.length < 3 ) {
            $.validator.addClassRules(name, $.validator.normalizeRule(name));
        }
    }

示例,增加☎验证

$.validator.addMethod("isMobile", function(value, element) {
     //判断是不是手机号码
     var length = value.length;
     var mobile = /^(1[3,5,8][0-9]{9})$/;
     return this.optional(element) || (length ==11 && mobile.test(value));
 },'请输入正确的电话号码');

...
mobile:{
    required:true,
    isMobile:true
},
...
<p>
    <label for="mobile">手机:</label><em>*</em>
    <input id="mobile" name="mobile" width="50"/>
</p>

function有3个参数,第3个为传过来的param,可选
6、说明

引入messages_zh.js可以将默认的验证转变为中文,可以自定义验证错误信息messages,也可以将其写入messages_zh.js中

默认校验规则
(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

required:true 必填项
required:"#aa:checked"当表达式的值为真时需要验证
required:function(){}返回为真时需要验证
后边两种常用于表单中存在同时填或不填的元素 

posted @ 2012-09-10 22:47  Gnight  阅读(2086)  评论(0编辑  收藏  举报