Laravel5.1 の話。5.2でもおそらく同等。
よく忘れる。RequestObject にValidationRule とかを書くのですが、その失敗時のリダイレクト先を入力フォームとは別にしたい時の設定。
プロパティ redirect
, redirectRoute
及びredirectAction
のいずれかに、適切なリダイレクト先を入れたら行く。
Property | Description |
---|---|
redirect | リダイレクト先の URL を記述する。 |
redirectRoute |
routes.php で名前を付けているパスに転送する。 |
redirectAction |
Controller@action を指定することで、そこに転送する |
優先順位はredirectAction
, redirectRoute
,redirect
となるけど実装が変わったら変わると思う。3つ全部入れることは無いと思うけど。
TestRedirect.php
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
/**
* Class PasswordResetRequest
* @package App\Http\Requests
*
* リダイレクトのメモ
*/
class TestRedirect extends Request
{
public $redirect = "/";
public $redirectRoute = "toppage";
public $redirectAction = "TopPageController@index";
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => 'required|email'
];
}
}