2022年4月8日URLをコピーしました!Laravelでは追加する必要のないくらい豊富なバリデーションルールが用意されています。日本においてそれだけでは不十分な場合も多々あり、独自のバリデーションルールを追加したいことがあります。そこで、Laravelのマニュアルで紹介されているを方法を単純に用いるのではなく、より使いやすくしたカスタムバリデーションルールをご紹介します。Uppercase],]);この方法ではFormRequest内で利用することができませんでした。Laravelそこで、ルールオブジェクトの下に記載されている「拡張の使用」を参考に追加していきます。ServiceProviderを使うまずは、ServiceProviderにカスタムバリデーションルールを作ります。ServiceProviderの作成マニュアルでは、AppServiceProviderに記載していますが、バリデーション用に処理を分けたいので新しく作ります。ValidationServiceProvider次に、config/app.phpのproviders配列に上記で作成したものを追加します。作成したValidationServiceProviderのboot()メソッドに判定処理を追加します。register(){//}}Validator::extend()の第1引数にルール名をば。$valueにフォームで入力した内容が入ってくるので、それを使用して判定します。正規表現で判定するルールなどが欲しいところですね。最後に、作成したカスタムバリデーションルールをFormRequestに追加しましょう。FormRequestの作成まずは、App/Http/RequestsにFormRequestを作成します。CreateUserRequestそして、FormRequestのrules()メソッド内で、作成したカスタムバリデーションのルール名(この場合は”uppercase“)を記載することで利用できます。フォームリクエストクラスを使ってバリデーションロジックをコントローラから分離させましょう。見通しが各段に良くなります。Laravel5.2の時代に書いたものです。時間あるときに5.5にアップデートします。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。