<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Required By Condition</title> <link rel="stylesheet" href="demo.css"> <script src="https://cdn.jsdelivr.net/jquery/1.12.3/jquery.min.js"></script> <script src="../dist/jquery.validator.min.js?local=en"></script> </head> <body> <form id="form1" class="form" data-validator-option="{timely:3,focusCleanup:true}"> <h3>required( dependency-expression )</h3> <div class="form-item"> <label for="isCompany"><input type="checkbox" id="isCompany" checked>Company</label> </div> <div class="form-item"> <input type="text" name="companyName" data-rule="required(#isCompany:checked)"> </div> <div class="form-item"> <button type="submit">Submit</button> </div> </form> <form id="form2" class="form"> <h3>required( dependency-callback )</h3> <div class="form-item"> <label><input type="checkbox" id="isPersonal" checked>Personal</label> </div> <div class="form-item"> <input type="text" name="email"> </div> <div class="form-item"> <button type="submit">Submit</button> </div> </form> <script> $('#form2').validator({ timely: 3, focusCleanup: true, rules: { isPersonal: function() { return $('#isPersonal').prop('checked'); } }, fields: { email: 'required(isPersonal); email' } }); </script> </body> </html>