Reputation: 635
I'm using jQuery Validation Plugin and I want to be able to dynamically add and remove validation from 3 radio button groups.
I am able to dynamically add and remove validation from text field input using the sample code below:
<script type="text/javascript">
$(document).ready(function(){
//Add Requird Validation
$("#inputTextField").rules("add", "required");
//Remove Required Validation
$("#inputTextField").rules("remove", "required");
});
</script>
Is it possible to do the same with radio buttons?
Upvotes: 5
Views: 16693
Reputation: 6086
You may consider using the the required method with a dependency expression. This is where you specify the required rule like
rules: {
details: {
required: "#other:checked"
}
}
this can be useful sometimes in that you don't have to add or remove rules to achieve a conditional validation on your elements. Try an example on jsfiddle
Upvotes: 0
Reputation: 98738
The code as you've posted it will work fine. However, rules('add')
must come after .validate()
and each input
must contain a name
attribute even if you're not targeting by name
.
HTML:
<form id="myform">
<input type="text" name="field" id="inputTextField" /> <br/>
</form>
jQuery:
$(document).ready(function() {
$('#myform').validate({
// other options & rules
});
// must come afer validate()
$("#inputTextField").rules("add", {
required: true
});
});
Demo: http://jsfiddle.net/fnKWD/
Is it possible to do the same with radio buttons?
Of course, just target them by name or by any other valid jQuery selector.
$('input[name="myname"]')
HTML:
<input type="radio" name="myname" value="0" />
<input type="radio" name="myname" value="2" />
<input type="radio" name="myname" value="5" />
Demo: http://jsfiddle.net/LkJZw/
Upvotes: 3