SO - 25637035

by Arun P Johny

HTML

<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.form/3.32/jquery.form.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.metadata/2.0/jquery.metadata.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script>
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/css/bootstrap.css">
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/bootstrap.js"></script>
<form id="form" method="post" action="">
    <input id="f1" type="checkbox" name="x" />
    <input id="f2" name="somefield" />
    <input type="submit" class="button" value="Submit" />
</form>

JavaScript

jQuery(function ($) {
    var validator = $('#form').validate({
        debug: true,
        rules: {},
        messages: {}
    });

    $('#f1').change(function () {
        if (this.checked) {
            $('#f2').rules('add', {
                required: true
            });
        } else {
            $('#f2').rules('remove', 'required');
        }
    })
});