我的jquery验证注册表单中的一些问题

时间:2014-06-11 06:47:50

标签: javascript jquery twitter-bootstrap-3 jquery-validate

我的问题是,当我按下按钮或输入我的lastfirst名称时,其中一个没有jquery验证。我如何使三个组合框具有1规则jquery验证而不是三个弹出?

当前输出:http://jsfiddle.net/5kcsn/12/

 $('form').validate({
        rules: {
            fname: {
                minlength: 3,
                maxlength: 15,
                required: true
            },
            lname: {
                minlength: 3,
                maxlength: 15,
                required: true
            },

            month: {
                required: true
            },
            day: {
                required: true
            },
            year: {
                required: true
            }
        },
        highlight: function (element) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight: function (element) {
            $(element).closest('.form-group').removeClass('has-error');
        },
        errorElement: 'span',
        errorClass: 'help-block',
        errorPlacement: function (error, element) {
            if (element.parent('.input-group').length) {
                error.insertAfter(element.parent());
            } else {
                error.insertAfter(element);
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

选中 Working Fiddle


  • 您需要对元素进行分组。

    groups: {
        DateofBirth: "month day year"
    },
    

errorPlacement:部分,添加此

errorPlacement: function (error, element) {
            if (element.attr("name") == "day" || element.attr("name") == "month" || element.attr("name") == "year") 
                error.insertAfter(".dateWrap");
            else 
                error.insertAfter(element);
            if (element.parent('.input-group').length) {
                error.insertAfter(element.parent());
            } else {
                error.insertAfter(element);
            }
        }

  • 对于lname问题,html中名字的输入字段为id="lname"。因此,有两个<input>元素的ID为lname

参考: .validate() groups