JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<form action="javascript:void(0)" method="post" id="myForm">
    
    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingOne">
          <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
              Collapsible Group Item #1
            </a>
          </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
          <div class="panel-body">
            <p>Field 1: <input type="text" name="text1" required="required" /></p>
            <p>Field 2: <input type="text" name="text2" required="required" /></p>
            <p>Field 3: <input type="text" name="text3" required="required" /></p>
            <p>Field 4: <input type="text" name="text4" /></p>
          </div>
        </div>
      </div>
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingTwo">
          <h4 class="panel-title">
            <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
              Collapsible Group Item #2
            </a>
          </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
          <div class="panel-body">
            <p>Field 5: <input type="text" name="text5" required="required" /></p>
            <p>Field 6: <input type="text" name="text6" required="required"...

JavaScript

// when the submit is clicked
$("#myForm input[type='submit']").on("click", function(event) {
    
    // traverse all the required elements looking for an empty one
    $("#myForm input[required='required']").each(function() {
        
        // if the value is empty, that means that is invalid
        if ($(this).val() == "") {
            
            // hide the currently open accordion and open the one with the required field
            $(".panel-collapse.in").removeClass("in");
            $(this).closest(".panel-collapse").addClass("in").css("height","auto");

            // stop scrolling through the required elements
            return false;
        }
    });
});