記事を作成するときに、何も入力せずに直接投稿すると、エラー メッセージも表示されずに空の記事が表示されますが、これは間違いです。コマンド ラインから php artisan
可以看到一个选项 make:request
を実行して、新しいフォーム リクエスト クラスを作成します。コマンドラインから実行
生成されたファイルは app/http/requests
ディレクトリにあります。ファイルには 2 つのメソッドがあります:
authorize
表示用户在提交表单的时候是否需要是认证用户,我们不需要认证,返回 true。rules
は私たちのルールメソッドです。このメソッドを変更してみましょう:
その他の制約については、laravel のドキュメントを参照してください。上記の制約は、title
是必须输入的,最少3个字符,body
是必须的,published_at
が必須であり、日付であることを意味します。
ビューでは、いつでも $errors
変数にアクセスして、エラーがあるかどうかを確認し、ビューを変更できます
コントローラーを変更し、Request クラスを導入します。
リーリー何も入力せずにフォームを再度送信すると、エラー メッセージが表示されます。
プロンプト情報を中国語に変更します
表示されるエラーメッセージは英語です。実際、laravelは国際化の問題を考慮して、最初にconfig/app.php
と
ロケール言語を中国語に設定し、resources/lang
下面新建文件夹 zh
, 拷贝 resources/lang/en/validation.php
文件到 zh
ディレクトリで変更します。
その他は自分で翻訳できます。空のフォームを再度送信すると、エラー メッセージが中国語で表示されます。そしてmin:3
の判定も漢字3文字以上です。
---
laravel はコントローラーに validate
メソッドも統合します。つまり、これらのタスクをコントローラーで直接実行する必要はありません。
コントローラーの変更:
リーリー結果は同じなので、簡単な検証はより速く完了できます。
以上、Laravel 5 (11) の基本 - フォーム検証についての側面を含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。