Laravel は、フォーム検証を処理する簡単な方法を提供し、処理前にユーザー入力が有効であることを確認します。ただし、検証エラーが表示ページに表示されない場合があります。
一般的な理由の 1 つは、ミドルウェアが欠落していることです。 Laravel 5.2.27 以降では、セッションと CSRF 保護を処理する「Web」ミドルウェアが、routes.php ファイル内のすべてのルートに自動的に適用されます。
「Web」ミドルウェアをルートに手動で追加しました。
Route::group(['middleware' => 'web'], function () { // Routes go here });
削除してみてください。これにより、「Web」ミドルウェアが 1 回だけ適用されるようになり、競合が防止されます。
「Web」ミドルウェアを削除しても問題が解決しない場合は、検証ルールが次のとおりであることを確認してください。コントローラーで正しく定義されており、ビュー内のエラー メッセージ ブロックが適切に配置され、レンダリングされていること。
ブレード テンプレート内のエラー メッセージ ブロックは、エラーを表示するために常にアクセスできるように、ループまたは条件ステートメントの外側に配置する必要があります。次の例は、正しい配置を示しています。
@if(count($errors) > 0) <div class="row"> <div class="col-md-4 col-md-offset-4 error"> <ul> @foreach($errors->all() as $error) <li>{{$error}}</li> @endforeach </ul> </div> </div> @endif
これらのヒントに従うことで、ブレード ビュー ページに検証エラーが適切に表示され、無効な入力に対して明確なフィードバックがユーザーに提供されるようになります。
以上がLaravel 5.2 検証エラーがブレード テンプレートに表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。