/** * Validate what is passed into the age gate * * @param array $data * @return $this|Validation|\Illuminate\Http\RedirectResponse */ public function validate(array $data) { $this->validation = $this->validator->make($data, $this->getValidationRules(), $this->getValidationMessages()); if ($this->validation->fails()) { $failed = $this->validation->failed(); $validExceptTooYoung = array_get($failed, 'dob.Before'); $canTryAgain = config('laravel-avp.can_try_again'); $toRedirect = config('laravel-avp.redirect_on_error'); $redirectURL = config('laravel-avp.redirect_url'); if (substr($data['dob'], 0, 4) > date('Y')) { return redirect()->action('AVPController@agegate')->withErrors($this->validation->messages())->withInput(); } else { if ($validExceptTooYoung && $toRedirect) { return redirect($redirectURL); } else { if ($validExceptTooYoung && !$canTryAgain) { $this->session->put('laravel-avp.previous_too_young', true); } else { $this->session->keep('url.intended'); } } } return redirect()->action('AVPController@agegate')->withErrors($this->validation->messages())->withInput(); } return $this->setCookie($data['remember']); }
/** * Reflash a subset of the current flash data. * * @param array|mixed $keys * @return void * @static */ public static function keep($keys = null) { \Illuminate\Session\Store::keep($keys); }
public function reflash($name) { $this->sessionManager->keep($this->getName($name)); }