title: What is the use of After Validation Hook in Laravel 5
body: <p>I'm learning Laravel 5 and trying to validate if an email exists in database yet then add some custom message if it fails. I found the After Validation Hook in Laravel's documentation</p>
  
  <pre><code>$validator = Validator::make(...);
  
  $validator-&gt;after(function($validator) use ($email) {
      if (emailExist($email)) {
          $validator-&gt;errors()-&gt;add('email', 'This email has been used!');
      }
  });
  
  if ($validator-&gt;fails()) {
      return redirect('somewhere')
          -&gt;withErrors($validator);
  }
  </code></pre>
  
  <p>but I don't really understand what this is. Because I can simply do this:</p>
  
  <pre><code>//as above
  
  if (emailExist($email)) {
      $validator-&gt;errors()-&gt;add('email', 'This email has been used!');
  }
  
  //redirect as above
  </code></pre>
  
  <p>It still outputs the same result. When should I use the 1st one to validate something instead of the 2nd one?</p>