• jQuery Validate插件 验证实例


    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation

    Validate手册: http://www.cnblogs.com/chutianshu1981/p/3602184.html

    效果图:

    引入库:

    <script type="text/javascript" src="__PUBLIC__/Js/jquery.js"></script>
    <script type="text/javascript" src="__PUBLIC__/Js/jquery-validate.js"></script>
    <script type="text/javascript" src="__PUBLIC__/Js/register.js"></script>

    表单:

    <form action="" method='post' name='regis'>
        <p>
            <label for="account">登录账号:</label>
            <input type="text" name='account' id="account" autocomplete="off" />
        </p>
        <p>
            <label for="pwd">登录密码:</label>
            <input type="password" name='pwd' id="pwd"/>
        </p>
        <p>
            <label for="pwded">确认密码:</label>
            <input type="password" name='pwded' id='pwded'/>
        </p>
        <p>
            <label for="uname">昵 称:</label>
            <input type="text" name='uname' id="uname" />
        </p>
        <p>
            <label for="verify">验证码:</label>
            <input type="text" name="verify" id="verify" />
            <img src="#" alt="验证码图片" class="verify" id="verify-img" title="点击更换" />
        </p>
        <p>
            <input type="submit" value='立即注册' id='regis'/>
        </p>
    </form>

    register.js文件:

    $(function () {
    
        //jQuery Validate表单验证
    
        /**
         * 添加验证方法: ok
         * 以字母开头,5-17 位字母、数字、下划线"_"
         */
        jQuery.validator.addMethod("ok", function(value, element) {
            var account = /^[a-zA-Z][w]{4,16}$/;
            return this.optional(element) || (account.test(value));
        }, '以字母开头,5-17 位字母、数字、下划线"_"');
    
        $('form[name="regis"]').validate({
    
            // 验证规则
            rules:{
                account:{ //form表单中input[name='account']元素的验证规则
                    required: true,                  //必须字段,不能为空
                    ok: true,                        //启用自定义验证规则'ok'
                    remote: {                        //异步验证
                        url: checkAccountUrl,        //后台处理程序
                        type: "post",                //数据发送方式
                        dataType: "json",            //接受数据格式
                        data: {                      //要传递的数据
                            account: function() {
                                return $("#account").val().trim();
                            }
                        }
                    }
                },
                pwd:{
                    required: true,
                    ok: true,
                },
                pwded:{
                    required: true,
                    equalTo: '#pwd'
                },
                uname:{
                    required: true,
                    rangelength: [2, 10],
                    remote: {
                        url: checkUnameUrl,
                        type: "post",
                        dataType: "json",
                        data: {
                            uname: function () {
                                return $("#uname").val().trim();
                            }
                        }
                    }
                },
                verify:{
                    required: true,
                    remote: {
                        url: checkVerifyUrl,
                        type: 'post',
                        dataType: 'json',
                        data: {
                            verify: function () {
                                return $('#verify').val().trim();
                            }
                        }
                    }
                }
            },
    
            // 提示消息
            messages:{
                account:{ //form表单中input[name='account']元素的提示信息
                    required: '账号不能为空',            // 输入为空时提示
                    remote: '账号已存在' // 异步获得json数据为'false'时提示,也就是后台验证失败
                },
                pwd:{
                    required: '密码不能为空',
                },
                pwded:{
                    required: '请确认密码',
                    equalTo: '两次密码不一致'
                },
                uname:{
                    required: '请填写您的昵称',
                    rangelength: '昵称必须在{0}-{1}个字之间',
                    remote: '昵称已存在'
                },
                verify:{
                    required: '请输入验证码',
                    remote: '验证码有误'
                }
            },
    
            // 错误标签元素
            errorElement: 'span',
    
            // 错误提示位置
            errorPlacement: function (error, element) { // error是错误信息的提示元素,element是当前input域
                error.appendTo(element.parent()).prev('.success').remove(); //追加提示元素,去掉之前的成功元素
            },
    
            // 验证通过
            success: function (span) { // span 是错误的提示元素
                span.removeClass('error').addClass('success').siblings('.success').remove(); //追加成功样式,去掉错误样式和重复的成功样式
            }
        });
    
    })

    errorElement 的CSS样式:

    input.error{ /*...*/ }     /* 输入框  的错误样式 */
    input.valid{ /*...*/ }     /* 输入框  的成功样式 */
    span.error{ /*...*/ }      /* 提示元素的错误样式 */
    span.success{ /*...*/ }    /* 提示元素的成功样式 */
    

     

  • 相关阅读:
    你必须要知道的架构知识~第一章 什么是项目架构
    Linq下的distinct()比SQLServer下的distinct更强大,更自由,呵呵
    你必须要知道的架构知识~第二章 代码是否面向对象,要看你的继承怎么用
    hdu 4500 小Q系列故事——屌丝的逆袭
    [置顶] Android九环刀之RatingBar之评委请亮分
    DNS 解析出错导致 MySQL 无法连接
    把iis服务关掉,将Session值存到数据库中继续运行
    回顾过去。。展望未来
    Android巴士转发
    linux网络编程之socket(十二):select函数的并发限制和 poll 函数应用举例
  • 原文地址:https://www.cnblogs.com/mingc/p/6501606.html
Copyright © 2020-2023  润新知