2016-10-05 14 views
0

私は1つのコントローラと1つのフォームリクエスト検証クラス:app\Http\Controllers\GuestController.phpapp\Http\Requests\ItemValidation.phpを持っています。 GuestController.phpでは<form>からのアイテムデータを格納するのにstoreItem(ItemValidation $request)メソッドを使用します。Laravel 5.2のRequestバリデーションクラスに入力値を渡す方法は?

そして、ItemValidation.php要求クラスでは、検証が失敗した場合、次の方法でフォームにリダイレクトされます。

public function response(array $errors){ 
     return Redirect::back()->withErrors($errors)->withInput()->with('type', '2'); 
} 

私が欲しいの主なものはresponse方法に(フォームでユーザーが入力されている)<form>から値を渡すことです。私は次のようにしようとしたが、それはうまくいきませんでした:

public function response(array $errors, Request $request){ 
      return Redirect::back()->withErrors($errors)->withInput()->with('type', '2')->with('sub_menu_id',$request->sub_menu_id); 
    } 
+0

あなたはルートを変更(追加)ルートでした::コントローラを指し、( "/レスポンス"、 "GuestControllerの@応答")を取得しますか?投稿を経由してフォームを渡すか、そのURLにアクセスしますか? –

+0

申し訳ありませんが、あなたは私の質問を得ていません。ありがとう、 – Someone

答えて

1

->withInput()は、セッションへの以前の入力が点滅します。

以前の入力が存在する場合は、フォームビューでold()ヘルパーを使用して値を再入力する必要があります。

ブレード:

<input type="text" name="username" value="{{ old('username') }}"> 

プレーンPHPは:

<input type="text" name="username" value="<?= e(old('username')) ?>"> 

以前の入力がない場合は、空の文字列としてエコーれ、nullを返します。


ドキュメント:https://laravel.com/docs/5.3/requests#old-input

+0

出来た。すばらしいです! – Someone

関連する問題