Q1.コントローラで送られてきたデータを使う場合は、Request $requestを使うと良いと思います。
Q2. view側でpostされたデータを使用する場合にはoldを使用すると便利です。
route
php
1Route::get('hoge' , 'HogeController@form');
2Route::post('hoge/confirm', 'HogeController@confirm');
コントローラ側
php
1class HogeController extends Controller
2{
3 public function form()
4 {
5 return view('hoge.form');
6 }
7
8 public function confirm(Request $request)
9 {
10 $input = $request->all(); // $inputにpostのデータ入ってる
11
12 return view('hoge.confirm');
13 }
14}
view側(hoge.form)
html
1<form method="post" action="hoge/confirm">
2 名前:<input type="text" name="name" value="{{old('name','東京')}}" />
3 住所:<input type="text" name="address" value="{{old('address','')}}" />
4 <input type="submit" />
5</form>
view側(hoge.confirm)
html
1<div>
2 <div>名前:<input type="text" name="name" value="{{old('name')}}" /></div>
3 <div>住所:<input type="text" name="address" value="{{old('address')}}" /></div>
4</div>
formのデータの入力チェックをしたい場合にはconfirmの引数のRequestを自分で作成したRequestクラスに書き換えれば対応したRequestクラスのruleが適用されてNGの場合には自動でindexに戻されるようになります。
Requestクラス内でエラーメッセージなどはまとめて管理できるのでコントローラ側はスッキリします。
php
1 public function confirm(Requests\MyRequest $request)
2 {
3 return view('hoge.confirm');
4 }
↓リクエストクラスはこれで生成されます
php artisan make:request MyRequest
php
1class MyRequest extends Request
2{
3 67
8 public function authorize()
9 {
10 // return (\Auth::check());
11 return false;
12 }
13
14 1718
19 public function rules()
20 {
21 return [
22 'name' => 'required', // 名前必須
23 'address' => '', // 住所任意
24 ];
25 }
26}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/26 03:48