ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5.2 検証エラーがブレード ビューに表示されないのはなぜですか?
問題:
次の場合、検証エラーがブレード ビューに表示されません。ユーザーがフォームに無効な入力を入力した
コントローラ:
public function saveUser(Request $request) { $this->validate($request, [ 'name' => 'required|max:120', 'email' => 'required|email|unique:users', 'phone' => 'required|min:11|numeric', 'course_id' => 'required' ]); $user = new User(); $user->name = $request->input(['name']); $user->email = $request->input(['email']); $user->phone = $request->input(['phone']); $user->date = date('Y-m-d'); $user->completed_status = '0'; $user->course_id = $request->input(['course_id']); $user->save(); return redirect('success'); }
ブレードビュー:
@if(count($errors) > 0) <div>
ソリューション:
Laravel の場合5.2.27 以降では、Web ミドルウェアが Routes.php 内のすべてのルートに自動的に適用されるようになりました。手動で追加すると問題が発生する可能性があります。
この問題を解決するには、RouteServiceProvider.php:
protected function mapWebRoutes(Router $router) { $router->group([ 'namespace' => $this->namespace, // Remove the 'web' middleware ], function ($router) { require app_path('Http/routes.php'); }); }のルート グループから Web ミドルウェアを削除します。
以上がLaravel 5.2 検証エラーがブレード ビューに表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。