I came across this example before finding your question while searching for something else, hoping this helps someone with the same problem:
https://djaodjin.com/blog/jquery-multi-step-validation.blog.html
Basically, obviously, validation.js checks for visible fields by default.
Here is a complete code example, click on the link to see an explanation:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Multiple step form</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <script type="text/javascript" src="js/jquery-1.9.0.js"></script> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js"></script> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/additional-methods.js"></script> <style type="text/css"> #personal_information, #company_information{ display:none; } </style> </head> <body> <div class="container"> <div class="col-lg-5"> <form class="form-horizontal" action="" method="POST" id="myform"> <fieldset id="account_information" class=""> <legend>Account information</legend> <div class="form-group"> <label for="username" class="col-lg-4 control-label">Username</label> <div class="col-lg-8"> <input type="text" class="form-control" id="username" name="username" placeholder="username"> </div> </div> <div class="form-group"> <label for="password" class="col-lg-4 control-label">Password</label> <div class="col-lg-8"> <input type="password" class="form-control" id="password" name="password" placeholder="Password"> </div> </div> <div class="form-group"> <label for="conf_password" class="col-lg-4 control-label">Confirm password</label> <div class="col-lg-8"> <input type="password" class="form-control" id="conf_password" name="conf_password" placeholder="Password"> </div> </div> <p><a class="btn btn-primary next">next</a></p> </fieldset> <fieldset id="company_information" class=""> <legend>Account information</legend> <div class="form-group"> <label for="company" class="col-lg-4 control-label">Company</label> <div class="col-lg-8"> <input type="text" class="form-control" id="company" name="company" placeholder="Company"> </div> </div> <div class="form-group"> <label for="url" class="col-lg-4 control-label">Website url</label> <div class="col-lg-8"> <input type="text" class="form-control" id="url" name="url" placeholder="Website url"> </div> </div> <p><a class="btn btn-primary next">next</a></p> </fieldset> <fieldset id="personal_information" class=""> <legend>Personal information</legend> <div class="form-group"> <label for="name" class="col-lg-4 control-label">Name</label> <div class="col-lg-8"> <input type="text" class="form-control" id="name" name="name" placeholder="Name"> </div> </div> <div class="form-group"> <label for="email" class="col-lg-4 control-label">Email</label> <div class="col-lg-8"> <input type="email" class="form-control" id="email" name="email" placeholder="Email"> </div> </div> <p><a class="btn btn-primary" id="previous" >Previous</a></p> <p><input class="btn btn-success" type="submit" value="submit"></p> </fieldset> </form> </div> </div> <script type="text/javascript"> $(document).ready(function(){ </script> </body> </html>
Seankendle
source share