for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PerfectOblivion\Valid\ValidationService\Concerns;
use Illuminate\Routing\Redirector;
trait HandlesRedirects
{
/**
* The redirector instance.
*
* @var \Illuminate\Routing\Redirector
*/
protected $redirector;
* The URI to redirect to if validation fails.
* @var string
protected $redirect;
* The route to redirect to if validation fails.
protected $redirectRoute;
* The controller action to redirect to if validation fails.
protected $redirectAction;
* Get the URL to redirect to on a validation error.
* @return string
protected function getRedirectUrl()
$url = $this->redirector->getUrlGenerator();
if ($this->redirect) {
return $url->to($this->redirect);
} elseif ($this->redirectRoute) {
return $url->route($this->redirectRoute);
} elseif ($this->redirectAction) {
return $url->action($this->redirectAction);
}
return $url->previous();
* Set the Redirector instance.
* @param \Illuminate\Routing\Redirector $redirector
* @return $this
public function setRedirector(Redirector $redirector)
$this->redirector = $redirector;
return $this;