Jquery 需要来自组的错误放置

Jquery error placement with required from group

我正在使用以下 js 并尝试将其与错误放置相结合。基本上,我只是尝试将错误消息打印到特定的 div.

我想我应该使用类似的东西:

errorPlacement: function(error, element) {
    if (element.attr("class") == "days_group" )
        error.insertAfter("#special_place");        
    else
        error.insertAfter(element);
}

但我不确定这是否有效或将代码放在以下位置:

这是link到jsfiddle(您需要转到第三页)

$(".next").click(function(){
                var form = $("#reg_form");
                form.validate({
                    errorElement: 'span',
                    errorClass: 'help-block',
                    highlight: function(element, errorClass, validClass) {
                        $(element).closest('.form-group').addClass("has-error");
                    },
                    unhighlight: function(element, errorClass, validClass) {
                        $(element).closest('.form-group').removeClass("has-error");
                    },

                    groups: {
                        days_groups: "M Tu W Th F Sa Su"
                    },



                    rules: {
                        M:{
                            require_from_group:[1,'.days_group']
                        },
                        Tu:{
                            require_from_group:[1,'.days_group']
                        },
                        W:{
                            require_from_group:[1,'.days_group']
                        },
                        Th:{
                            require_from_group:[1,'.days_group']
                        },
                        F:{
                            require_from_group:[1,'.days_group']
                        },
                        Sa:{
                            require_from_group:[1,'.days_group']
                        },
                        Su:{
                            require_from_group:[1,'.days_group']
                        }, 
                        first_name: {
                            required: true,                                                     
                        },
                        last_name: {
                            required: true,                                                     
                        },                      
                        email1 : {
                            required: true,                         
                        },
                        email2 : {
                            required: true,
                            equalTo: '#email1',
                        },
                        pass1 : {
                            required: true,                         
                        },
                        pass2 : {
                            required: true,
                            equalTo: '#pass1',                          
                        },
                        day:  {
                              require_from_group: [1, ".days-group"]
                            },




                    },
                    messages: {
                       M: {
                           require_from_group: "Please select at least 1 day"
                       },
                       Tu: {
                           require_from_group: "Please select at least 1 day"
                       },
                       W: {
                           require_from_group: "Please select at least 1 day"
                       },
                       Th: {
                           require_from_group: "Please select at least 1 day"
                       },
                       F: {
                           require_from_group: "Please select at least 1 day"
                       },
                       Sa: {
                           require_from_group: "Please select at least 1 day"
                       },
                       Su: {
                           require_from_group: "Please select at least 1 day"
                       },                       
                        first_name: {
                            required: "First name required",
                        },
                        last_name:  {
                            required: "Last name required",
                        },                      
                        email1: {
                            required: "Email required",
                        },
                        email2: {
                            required: "Confirm Email required",
                             equalTo: "Emails do not match",
                        },
                        pass1: {
                            required: "Password required",
                        },
                        pass2: {
                            required: "Confirm password required",
                             equalTo: "Passwords do not match",
                        },                      






                    }



                });

试试这个:

errorPlacement: function(error, element) {
    if (element.hasClass("days_group")) {
        error.insertAfter("#special_place");
    } else {
        error.insertAfter(element);
    }
}

概念验证:http://jsfiddle.net/dsj4zg21/