I am pulling my hair out. For all intents and purposes I think this should work. I only want to validate that a hidden field has a value if certain radio buttons are selected.
Here's what I've got:
$("#myform").validate({
ignore: "",
rules: {
MaritalStatusDate: {
required: {
depends: function () {
return $("input[type='radio'].maritalStatusRadio:checked").val() != '1';
}
}
}
},
messages: {
MaritalStatusDate: {
required: "You must enter a marital status date"
}
}
});
MaritalStatusDate is the name/id of my hidden field. I've tried about 100 different iterations of this code, and the form gets submitted everytime.
any ideas?
edit: adding html.
<script src="/Scripts/jquery-2.0.3.min.js"></script>
<script src="/Scripts/jquery.validate.1.11.1.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
<form action="/cont/meth" id="myform" method="post">
<input class="maritalStatusRadio" data-val="true" data-val-required="The MaritalStatusAnswer field is required." id="maritalStatus_1" name="MaritalStatusAnswer" type="radio" value="1" />
<input class="maritalStatusRadio" id="maritalStatus_2" name="MaritalStatusAnswer" type="radio" value="2" />
<input class="maritalStatusRadio" id="maritalStatus_3" name="MaritalStatusAnswer" type="radio" value="3" />
<input class="maritalStatusRadio" id="maritalStatus_4" name="MaritalStatusAnswer" type="radio" value="4" />
<input data-val="true" data-val-date="The field MaritalStatusDate must be a date." id="MaritalStatusDate" name="MaritalStatusDate" type="hidden" value="" />
<input type="submit" value="go" />
</form>