如果未选中复选框,我正在尝试验证需要几个元素的表单。
现在,如果我提交表单,则会触发规则 - 然后我选中复选框 - 验证规则已经解雇 - 即使现在选中了复选框 - 验证规则仍然适用,表单将不会提交,直到我进入字段。
我希望复选框可以打开或关闭规则。任何帮助非常感谢。
var validator = $(".cmxform").validate({
rules: {
txtAddress1: {
required: function(){
$('#chkCurrentEmployer').attr('checked') !== "true"
} },
txtAddress2: {
required: function(){
$('#chkCurrentEmployer').attr('checked') !== "true"
} }
}
});
答案 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');