zoukankan      html  css  js  c++  java
  • jQuery Validate验证框架详解

    入门资料 http://www.cnblogs.com/linjiqin/p/3431835.html
    api  http://www.runoob.com/jquery/jquery-plugin-validate.html

    jquery validate和bootstrap结合使用例子

    <form id="form4" role="form" class="form-horizontal" method="get">
        <div class="panel-body widget-content">
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule1">规则1:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule1" placeholder="必填项"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule2">规则2:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule2" placeholder="必填项,长度3-5"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule3">规则3:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule3" placeholder="必填项,长度3-5,必须包含汉字"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule4">规则4:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule4" placeholder="非必填项。只能输入数字,数值不能大于5"/>
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule5">规则5:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule5" placeholder="必填项。必须包含数字和字母汉字和特殊字符,长度大于3"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule6">规则6:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule6" placeholder="必填项。必须输入整数,大小在0到300之间"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule7">规则7:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule7" placeholder="必填项,大于100。远程校验,ajax返回true校验通过"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <label class="col-sm-3 control-label" for="rule8">规则8:</label>
                <div class="col-sm-8">
                    <input class="form-control"  name="rule8" placeholder="必填项,必须以字母开头"/>
                </div>
                <h4><span class="text-danger">*</span></h4>
            </div>
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <button type="submit" class="btn btn-primary btn-sm">注册</button>
                    <button type="reset" class="btn btn-primary btn-sm">重置</button>
                </div>
            </div>
        </div>
        <div class="panel-footer widget-footer">
            <script type="text/javascript" class="_bs">
                $(function(){
                    $.validator.setDefaults({
                        highlight: function (element) { $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); },
                        success: function (element) { element.closest('.form-group').removeClass('has-error').addClass('has-success'); },
                        errorPlacement: function (error, element) { error.appendTo(element.closest("[class^='col-']")); },
                        errorElement: "span", errorClass: "help-block", validClass: "valided", ignore:".ignore"
                    });
                    
                    $.validator.addMethod("mustNum", function(value, element) {
                        if (!/[0-9]/.test(value))
                            return false;
                        return this.optional(element) || true;
                    }, "必须包含数字");
    
                    $.validator.addMethod("mustletter", function(value, element) {
                        if (!/[a-zA-z]/.test(value))
                            return false;
                        return this.optional(element) || true;
                    }, "必须包含字母");
    
                    $.validator.addMethod("musthanzi", function(value, element) {
                        return this.optional(element) || /[u4e00-u9fa5]/.test(value);
                    }, "必须包含汉字");
    
                    $.validator.addMethod("startLetter", function(value, element) {
                        return this.optional(element) || /^[a-zA-Z]/.test(value);
                    }, "必须以字母开头");
    
                    $.validator.addMethod("mustxxx", function(value, element) {
                        return this.optional(element) || /[^a-zA-Z0-9u4e00-u9fa5]/.test(value);
                    }, "必须包含特殊字符");
    
                    $("#form4").validate({
                        rules : {
                            rule1 : "required",
                            rule2 : {
                                required : true,
                                rangelength:[3,5]
                            },
                            rule3 : {
                                required : true,
                                minlength:3,
                                maxlength:5,
                                musthanzi:true
                            },
                            rule4 : {
                                max:5
                            },
                            rule5 : {
                                required : true,
                                mustNum:true,
                                mustletter:true,
                                mustxxx:true,
                                musthanzi:true,
                                minlength:3
                            },
                            rule6 : {
                                required:true,
                                digits:true,
                                range:[0,300]
                            },
                            rule7 : {
                                required:true,
                                remote: {
                                    url: "check.php",     //后台处理程序
                                    type: "post",               //数据发送方式
                                    dataType: "json",        //接受数据格式   
                                    data: {       //要传递的数据
                                        username: function() {
                                            return $("input[name='rule7']").val();
                                        }
                                    }
                                }
                            },
                            rule8 : {
                                required:true,
                                startLetter:true
                            },
                        },
                        messages : {
                                rule7 : {
                                    remote : "远程返回错误",
                                },
                                rule8 : {
                                    required : "这里是自定义的必填项",
                                },
                            }
                    });
                });
            </script>
        </div>
        </form>
  • 相关阅读:
    MySQL根据某一个或者多个字段查找重复数据的sql语句
    常见面试题
    技术总监工作内容
    分布式锁三种实现
    完美解决github访问速度慢
    细说Redis
    Mysql学习的核心问题
    Java反射细说
    Spring中的常见的9种设计模式
    Mybatis相关问题
  • 原文地址:https://www.cnblogs.com/beimingbingpo/p/6806883.html
Copyright © 2011-2022 走看看