validate,submit and open modal

by Joe

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
 <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.2/js/bootstrapValidator.min.js"></script>
 <form class="form-horizontal" action="" method="post" id="contactForm">
   <div class="row">
     <!-- From Account name -->
     <div class="form-group col-6" style="margin-bottom: 0px;">
       <label class="col-sm-6 control-label p-sm-0 acc-merge" for="frm_acc">FROM</label>
       <select class="form-control select-data .has-success" name="frm_account" id="frm_acc" required>
         <option value="">Choose an items</option>
         <option value="1">Plumz</option>
         <option value="2">Plumz2</option>
         <option value="3">Plumz3</option>
         <option value="4">Plumz4</option>
         <option value="5">Plumz5</option>
       </select>
       <div class="input-group col-sm-6 p-sm-0 form-group"></div>
     </div>
     <!-- To account name -->
     <div class="form-group col-6" style="margin-bottom: 0px;">
       <label class="col-sm-6 control-label p-sm-0 acc-merge" for="to_acc">TO</label>
       <select class="form-control select-data .has-success" name="to_account" id="to_acc" required>
         <option...

JavaScript

jQuery("#accMergebtn").prop('disabled', true);

var toValidate = "#frm_acc,#to_acc,#accloading";
valid = false;
$(toValidate).change(function() {
  if (jQuery(this).val().length > 0) {
    jQuery(this).data('valid', true);
  } else {
    jQuery(this).data('valid', false);
  }
  $(toValidate).each(function() {
    if (jQuery(this).data('valid') == true) {
      valid = true;
      $("#accMergebtn").click(function() { // click function to show popup
        $('#accloading').modal('show');
      });
    } else {
      valid = false;
    }
  });

  if (valid === true) {
    jQuery("#accMergebtn").prop('disabled', false);
  } else {
    jQuery("#accMergebtn").prop('disabled', true);
  }
});