使用动态JQueryValidation和添加规则

时间:2014-06-19 00:27:01

标签: javascript jquery html validation checkbox

我目前正在使用Jquery验证插件在网站上工作并验证我的页面。我希望验证表单的某些元素,具体取决于用户点击提交按钮时检查的复选框组合。

在我的表格上,我有一个图书选择列表框,然后在它下面我有一个月选择框,然后在它下面,一个日选择框。在这些列表框下面是3个复选框,让我们称它们为复选框A,B和C.当没有选择A,B,C复选框时,我想只需要书籍清单框。我有理由这样做。

现在,在阅读了一些关于动态验证的例子后,我有一些代码,我认为它可以工作但不是。也许我错过了一些明显的或明显错误的东西。我觉得这应该很容易,也许我不理解某些东西。以下是我的代码。

<script>

        var _validator;

        $(function() {


            _validator = $('#bookFormID').validate({


                errorClass: "error",
                validClass: "valid",

                rules: {


                    bookListBox: {required: false},
                    months: {required: false},
                    days: {required: false},


                },

                messages: {
                    bookListBox: "Please select a workstation.",
                     months: "Please select a month.",
                    days: "Please select a day.",

                    },

                highlight: function(element){



                    $(element).closest('.control-group').removeClass('success').addClass('error');
                },

                success: function(element){


                    $(element).closest('.control-group').removeClass('error').addClass('success');

                }

            });

            $('#submitbuttonID').click(function(e){


                if($('#checkboxA')[0].checked == false && $('#checkboxB')[0].checked == false &&
                              $('#checkboxC')[0].checked == false)
                {
                    $('#bookListBoxID').rules('add', "required");
                }

                if(_validator.form())
                {
                    $('#bookFormID').submit();
                }

            });


        });


        </script>

1 个答案:

答案 0 :(得分:0)

http://jqueryvalidation.org/validate#rules

看看第二个例子:

$(".selector").validate({
  rules: {
    contact: {
      required: true,
      email: {
        depends: function(element) {
          return $("#contactform_email:checked")
        }
      }
    }
  }
});

希望这有帮助。