ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 5.2 検証エラーがブレード テンプレートに表示されないのはなぜですか?

Laravel 5.2 検証エラーがブレード テンプレートに表示されないのはなぜですか?

Patricia Arquette
リリース: 2024-12-08 02:58:10
オリジナル
417 人が閲覧しました

Why Aren't My Laravel 5.2 Validation Errors Showing in My Blade Template?

Laravel 5.2 検証エラーがブレード テンプレートに表示されないのはなぜですか?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート