Fork me on GitHub

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-9\u4e00-\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>

 

posted @ 2017-05-04 14:16  森海轮回  阅读(1569)  评论(0编辑  收藏  举报