お世話になっております。
Laravel5.5の勉強をしていおり、基本的な事ですが3点質問させてください。
- requestクラスのvalidateメソッドとValidateファサードの違い
例えば下記の場合は
・処理の最後にreturnしなくても自動的に元いたページへリダイレクトする
・自動でエラーメッセージも持っていく
php
1 $request->validate([ 2 'name' => 'required', 3 'age' => 'integer', 4 ]);
下記の場合は
・returnしてredirectする記述が必要
・redirectするviewは指定できる
・widthErrorsの引数に$validatorを設定すればLaravelのエラーメッセージがバリデーションルールに応じて表示され、文字列等を設定すれば好きなエラーメッセージを出せる
php
1$validator = Validator::make ( 2$request -> all(), [ 3 'name' => 'required', 4 'age' => 'integer', 5]); 6 7if($validator -> fails()) { 8 return redirect('view/path') 9 -> withErrors($validator) 10 -> withInput(); 11}
という理解で大丈夫でしょうか?
2. withInput()
上記のvalidationファサードのwithInputは何をしているのでしょうか?
withInput()とwithErrosは順番がサイトによって違っていました。順番が逆でも違いはないのでしょうか?
3. エラーメッセージの行方
Laravel公式には
Laravelは自動的にユーザーを以前のページヘリダイレクトします。付け加えて、バリデーションエラーは全部自動的にフラッシュデータとしてセッションへ保存されます。
とあるのですが、chromeのデベロッパーツールのApplication->Session Storageを開いたままvalidationエラーを発生させて見たのですが、viewには表示されたのですがSession Storageには何も表示されませんでした。
私の見方が違っているのでしょうか、、?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/09 22:41