は、私は私の最後のメッセージ以来の父となりました;)ここで
は、あなたが与えたので、私がやっていることです私はあなたのヒント。
私は私のformRequestsが延びBaseRequestクラスを作成しました。その中に、私はそのようなfailedAuthorization
方法オーバーライドた:App\Exceptions\Handler
クラスにおいて
protected function failedAuthorization()
{
$exception = new AuthorizationException('This action is unauthorized.');
$exception->error_message = $this->error_message;
$exception->redirect = $this->getRedirectUrl();
$exception->dontFlash = $this->dontFlash;
throw $exception;
}
を、Iはrender
方法の次の処理追加しました:このプロセスに
if ($exception instanceof AuthorizationException) {
// ajax or api call
if ($request->expectsJson()) {
// treatment
}
// we notify the current user with a modal
if($exception->error_message) Modal::alert($exception->error_message, 'error');
if ($exception->redirect){
return redirect()->to($exception->redirect)->withInput(request()->except($exception->dontFlash));
} else {
return redirect()->back()->withInput(request()->except($exception->dontFlash));
}
}
を、私は満足を有しますカスタマイズ可能なformRequestを使用した治療。しかし、私はまだそれが少しばかりで、本当にきれいではないことがわかります。あなたや他の誰かがこれを実装するためのより良い方法を持っている場合、私はあなたとそれを議論する喜んでいるだろう。
おかげシルが、これは非常に独創的なSI;)私はこの明日試してみてください! – Okipa