title: How to only run a validation rule if another one passes in Laravel 5
body: <p>I have the following rules in a request:</p>
  
  <pre><code>Validator::extend('valid_date', function($attribute, $value, $parameters)
  {
      $pieces = explode('/', $value);
  
      if(checkdate($pieces[1], $pieces[0], $pieces[2])) {
          return true;
      } else {
          return false;
      }
  });
  
  return [
      'first_name' =&gt; 'required',
      'last_name' =&gt; 'required',
      'email' =&gt; 'required|email|unique:users,email',
      'dob' =&gt; 'required|regex:/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/|valid_date',
      'mobile' =&gt; 'required',
      'password' =&gt; 'required|confirmed'
  ];
  </code></pre>
  
  <p>For the dob field I only want the valid_date rule to be run if the regex check returns true. If the regex check returns false then there is no point doing the valid_date check and if there isn't a / present in the value then it will error when it tries to explode on a /</p>
  
  <p>Is there a way to conditionally add rules if another rule is valid?</p>