健一朗システム開発LaravelのValidateの使い方を調べてみた:その2ツイートこんにちは、システムエンジニアの今井です。前回のブログでLaravelのValidateで「Validatorクラスを使う方法」を紹介しました。今回は「Requestクラスのvalidateメソッドを使う方法」を紹介します。※:今回の内容はほぼ前回のブログと内容が似ています。編集」の箇所が異なります。編集」の箇所のみ見ていただければと思います。今回紹介するValidation条件例として、前回と同じく以下4つのPOST値をチェックする前提で説明します。1.9.1それでは、「Requestクラスのvalidationメソッドを使う方法」について紹介したいと思います。1:Laravel自体を作成composerを使って以下のコマンドを叩くと、実行したコマンドのカレントディレクトリにlaravel_sampleというディレクトリが作成されます。※:以下の作業を行うとapp/Http/Controllers配下にHogeController.phpが作成されます。以下の設定で/hogeのURLを開いた時にHogeControllerのindexアクションを呼び出します。/hogeのURLにPOST通信したときにHogeControllerのpostアクションを呼び出します。作成/hogeのURLを開いた時に表示されるHTMLになります。Bootstrap4.3.1を使っています。{{old(‘xx’)}}はvalidationでエラーになった時に直前に入力していた値を表示します。$errorsの箇所はエラーメッセージを表示します。作成このファイルはvalidateを通過した時に表示されるページになります。POSTしたデータの内容が表示されます。'メールアドレスを入力してください。'正しいメールアドレスを入力してください。'名前を入力してください。'名前は:max文字以内で入力してください。'タイトルは:max文字以内で入力してください。'メッセージは:min文字以上で入力してください。'メッセージは:max文字以内で入力してください。}}7からは1~6で作成したものを動かしてみたいと思います。8000番ポートにアクセスできるようにします。0.0.0.08:ブラウザで8000番ポートで/hogeにアクセスします7のコマンドを行ったサーバのIPアドレスが192.168.1.30として以下のURLでアクセスします。http://192.168.1.30:8000/hoge注)サーバで8000番ポートがiptablesやfirewalld等で閉じている場合は、あらかじめ開けておいてください。以下のようなフォームが表示されます。9:空っぽでSubmitボタンを押してみますメールアドレスと名前の箇所は必須入力ですので、この2つでエラーが表示されました。10:その他のエラーを出してみるメールアドレスにふさわしくない形、名前に255文字以上、タイトルに255文字以上、メッセージに1000文字未満をいれてSubmitしてみます。条件に合わないのでエラーが表示されます。11:正しい内容の値を入力しvalidateを通過してみます以下のように正しい内容の値を入れてSubmitします。Submitするとpost.blade.phpの内容が表示され、validateを通過することが確認できました。まとめLaravelのRequestクラスのvalidateメソッドを使うことで、入力内容のチェックがすることができました。簡単なValidateを行うだけであれば、この方法で問題ないかと思います。チェックする項目が多くなるとController内にvalidateするために記述内容が増え、Controllerが肥大化してきます。validateする処理を外部ファイル化しControllerの肥大化を防ぐために次回は「Requestクラスを継承して使う方法」を紹介できればと思います。Spiceworks.,Co.,Ltd。