我目前正在使用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>
答案 0 :(得分:0)
http://jqueryvalidation.org/validate#rules
看看第二个例子:
$(".selector").validate({
rules: {
contact: {
required: true,
email: {
depends: function(element) {
return $("#contactform_email:checked")
}
}
}
}
});
希望这有帮助。