title: Validating form data with Multiple inputs
body: <p>I have code at the moment where is a user input multiple items into a text input separated by a comma, this gets submitted to php backend and using explode, I can retrieve the correct values and process them back through jQuery.</p>
  
  <p>Here is my problem. I need to find a way to validate input using several input boxes. The maximum would be 8 and I am struggling to find a way to do this, using my existing code. </p>
  
  <p>Firebug states the the POST is 2 separate box_add posts ie, box_add 192 box_add 193. I cannot use [] because that will interfere with validator. I would be grateful for someguidance as to how to move forward with this. Many Thanks</p>
  
  <p>HTML relevant code</p>
  
  <pre><code>&lt;a href="#" id="INTKAddMoreFileBox" class="btn btn-info"&gt;Add More Box Fields&lt;/a&gt;
      &lt;div id="INTKInputsWrapper"&gt;
         &lt;div&gt;
              &lt;input name="box_add" type="text" id="box_add" /&gt;
              &lt;a href="#" class="removeclass"&gt;&amp;times;&lt;/a&gt;
              &lt;a style="margin-left: 14px;" href="javascript:void(0)" title="Just an example" class="tooltip"&gt;Help&lt;/a&gt;
         &lt;/div&gt;
      &lt;/div&gt;
  </code></pre>
  
  <p>PHP code</p>
  
  <pre><code>&lt;?php
      session_start();
  
      $connect = mysql_connect("localhost", "root", "") or die ('{"opp":"error","box":"mysql_connect FAILED"}');
  
      $db = mysql_select_db("sample");
  
  
      // test vars from jquery form
      $status = mysql_real_escape_string($_REQUEST['status']);
      $company = mysql_real_escape_string($_REQUEST['company']);
      $requested = mysql_real_escape_string($_REQUEST['requested']);
      $activity = mysql_real_escape_string($_REQUEST['activity']);
      $address = mysql_real_escape_string($_REQUEST['address1']);
      $service = mysql_real_escape_string($_REQUEST['service']);
      $destroyDate = mysql_real_escape_string($_POST['datepicker']);
      $date = explode('/', $_POST['datepicker']);
      $newdate = $date[2].'-'.$date[1].'-'.$date[0];
      //$box = mysql_real_escape_string($_REQUEST['box_add']); // never used
      $authorised = mysql_real_escape_string($_SESSION['kt_name_usr']);
      $dept = mysql_real_escape_string($_REQUEST['dept']);
      $boxerrortext = 'Error';
  
      // Split the box if multiples
      $array = explode(',', $_REQUEST['box_add']);
  
      $outString = ''; 
  
      foreach ($array as $box) {
          $box = mysql_real_escape_string($box);
          $sql = "SELECT item FROM act WHERE item = '$box'";
          $result = mysql_query($sql) or die ('{"opp":"error","box":"' . mysql_error() . '"}');
  
          // If there are dupe entries, send message to jquery
          if (mysql_num_rows($result) &gt; 0) {
  
              $outString .= $box . ' ';       
      }   
      }
      if ($outString) {
          $error = array('opp' =&gt; "error", 'box' =&gt; $outString); 
  
          $output = json_encode($error);
          echo $output;
          exit();
      }
  
      foreach ($array as $box) {
          $outString .= "&lt;br /&gt;company:  $company &lt;br /&gt; address: $address &lt;br /&gt;service: $service &lt;br /&gt;Destroy Date: $destroyDate &lt;br /&gt;box: $box &lt;br /&gt;";
  
          $box = mysql_real_escape_string($box);
          $sql = "INSERT INTO `temp` (service, activity, department, company, address, user, destroydate, date, item, new)";
          $sql .= "VALUES ('$service', '$activity', '$dept', '$company', '$address', '$requested', '$newdate', NOW(), '$box', 1)";
          $result = mysql_query($sql) or die ('{"opp":"error","box":"' . mysql_error() . '"}');
      }
  
      $json = array('opp' =&gt; 'insert', 'box' =&gt; $outString);
      $result = json_encode($json);
      echo $result;
  ?&gt;
  </code></pre>
  
  <p>Script to add inputs</p>
  
  <pre><code>&lt;script type="text/javascript"&gt;
  $(function() {
  
  var MaxInputs       = 8; //maximum input boxes allowed
  var InputsWrapper   = $("#INTKInputsWrapper"); //Input boxes wrapper ID
  var AddButton       = $("#INTKAddMoreFileBox"); //Add button ID
  
  var x = InputsWrapper.length; //initlal text box count
  var FieldCount=1; //to keep track of text box added
  
  $(AddButton).click(function (e)  //on add input button click
  {
          if(x &lt;= MaxInputs) //max input box allowed
          {
              FieldCount++; //text box added increment
              //add input box
              $(InputsWrapper).append('&lt;div&gt;&lt;input type="text" name="box_add" id="box_add" /&gt;&lt;a href="#" class="removeclass"&gt;&amp;times;&lt;/a&gt;&lt;/div&gt;');
              x++; //text box increment
          }
  return false;
  });
  
  $("body").on("click",".removeclass", function(e){ //user click on remove text
          if( x &gt; 1 ) {
                  $(this).parent('div').remove(); //remove text box
                  x--; //decrement textbox
          }
  return false;
  }) 
  
  });
  &lt;/script&gt;
  </code></pre>