Jquery验证:在使用不同规则更改复选框后重新验证已验证的表单

时间:2010-02-01 10:25:58

标签: jquery checkbox jquery-validate validationrules

如果未选中复选框,我正在尝试验证需要几个元素的表单。

现在,如果我提交表单,则会触发规则 - 然后我选中复选框 - 验证规则已经解雇 - 即使现在选中了复选框 - 验证规则仍然适用,表单将不会提交,直到我进入字段。

我希望复选框可以打开或关闭规则。任何帮助非常感谢。

var validator = $(".cmxform").validate({
                rules: {
                    txtAddress1: { 
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } },
                    txtAddress2: {
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } }
                }
            });

1 个答案:

答案 0 :(得分:2)

使用required( dependency-expression )规则

var validator = $(".cmxform").validate({
  rules: {
    txtAddress1: {
      required: "#chkCurrentEmployer:checked"
    },
    txtAddress2: {
      required: '#chkCurrentEmployer:checked'
    }
  }
});

此处的文档:http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

如果这些函数返回类似

的代码,您的代码也可能有效
return $('#chkCurrentEmployer').attr('checked');