2021.04.23Laravelのバリデーションで、独自のルールを設定する方法について書いています。artisanコマンドでRuleファイルを作成することで、独自にバリデーションする項目に設定できます。今回はLaravelのバージョン6で、挙動を確かめてみました。独自のルールですが、例えば郵便番号のバリデーション(ハイフン付き)などをしたい場合に、Laravelにはこのルールが用意されていません。この場合はRuleインターフェースを実装した、ZipCodeRuleというルールを作って下記のように指定すると良いです。ZipCodeRule()]]);それでは、実際にルールを作成する方法を見ていきましょう。終わりに独自のRule(ルール)ファイルを作成する下記のようにartisanコマンドのmake:ruleを使用することによりファイルを作成できます。[ルールファイルの名前]今回は実際にZipCodeRuleを作ってみました。ZipCodeRule作成されたRule(ルール)ファイルの確認Rule(ルール)ファイルはapp/Rule/ディレクトリ配下に作成されます。ファイルを開くと初期では、下記のような状態になっています。false)になるようにバリデーションを書きます。messageメソッドはエラーだった場合のメッセージを書きます。実際に郵便番号のルールを作ると、下記のような感じになりました。'郵便番号が正しくありません。}}解説passesメソッドにルールを書きました。preg_matchで郵便番号の000-0000の形式にあっていた場合はtrueが返ります。(違う場合はfalse)$value変数にはバリデーションで指定した項目の値が入ってきます。$attribute変数にはフォームタグのnameで指定した属性が入ってきます。(name=”zip_code”の場合は”zip_code”が入っています)基本的には$valueの方しか使わないかと思います。messageメソッドには、エラー時のメッセージを記載しました。今回は直接書きましたが、実際にプロジェクトで使用する場合はLangファサードを使うなどした方が良いです。メッセージファイルにまとめておくことができます。作成した独自のRule(ルール)を使用する前回作ったフォームに郵便番号の項目を作成して、バリデーションしてみました。ZipCodeRuleを使うためにuse文で、App\Rulesの名前空間を指定します。実際にコントローラーで書いたコードは下記のようになります。作成したApp\Rules\ZipCodeRuleをuse文で指定します。validateの左側はフォームの項目で、右側がルールでした。独自で作成したルールはこのようにnewして指定するといいです。下記のようにバリデーションにかかるように、郵便番号にハイフンを入れずに入力してみました。エラーメッセージが表示されることが確認できました!(エラーがない場合も処理が通ることも確認しました)終わりにLaravelに用意されているルール以外でも、バリデーションしたいことも良く出てきます。今回のようにRuleクラスを作ると簡単にできるので、使っていきましょう。独学に限界を感じたら、オンラインで学んでみよう!本当にわからない場合は、知っている人に聞くと近道になります。・PHP/Laravelのおすすめプログラミングスクール5選!PHP/Laravelのおすすめプログラミングスクール5選!PHPやLaravelが学べるプログラミングスクールを5つ選んで比較してみました。総合的にみると、Freeksがサブスク型で始められて、就職支援まで行ってくれるので良さそうでした!PHP/Laravelが学べるプログラミングスクール5選ゲス...codelikes.com2022.10.15LaravelPHPプログラミングシェアするTwitterFacebookはてブPocketLINEコピーyasuakiをフォローするyasuakiコードライクPython【Python入門】関数(def)を作る方法!引数や戻り値など解説Pythonで関数を作る方法や、関数の引数や戻り値について解説しています。載せているコードについては、Pythonの3.9.12バージョンを使って検証しました。公式ドキュメントではこちらに解説があります。Pythonの関数とは?関数はプログ...JavaScriptJavaScriptのbreakの使い方!(ループを抜ける)JavaScriptのbreakの使い方について書いています。breakの使い方について解説した後に、下記の内容について説明しています。・breakをラベルで使う・while文の繰り返しで使う・breakはforEachで使えるのか?・br...JavaScriptJavaScriptでテキストファイルを読み込む方法!JavaScriptで、選択されたファイルの内容を読み込む方法について書いています。今回はテキストファイルを読み込んで表示してみました。ファイルを読み込む際にはFileオブジェクトに対して、FileReaderオブジェクトを使ってあげると良...PHPPHPのfile関数の使い方!ファイルの読み込んで処理する!PHPでfile関数を使って、ファイルを読み込む方法について書いています。載せているサンプルコードについては、PHPのバージョン8.1.8を使って検証しています。file関数の使い方file関数を使うことで、指定したファイルパスのファイルを...VB.NETVB.NETのリストに要素を含むか検索する3つの方法!VB.NETでリストに要素を含むか検索して、確認する方法について書いています。リストに要素を含むか確認するときには、下記のメソッドが使えます。・Containsメソッド・IndexOfメソッド・LastIndexOfメソッドContains...PythonPythonのリストから要素を削除する4つの方法!Pythonのリストに格納した要素を削除する方法について書いています。載せているコードはPythonのバージョン3.10.5で確認しました。要素番号(インデックス)を指定して削除するリストの要素番号を指定して、削除する方法です。削除したいリ...C#C#のリストで要素を削除する4つの方法!C#のリストの要素を削除する方法について書いています。リストの要素を削除する、下記のメソッドについて解説しました。・Removeメソッド・RemoveAtメソッド・RemoveRangeメソッド・Clearメソッド載せているコードについては...C#C#で数値から文字列に変換する2つの方法!C#で数値から文字列に変換する方法について書いています。数値から文字列に変換するには、下記の操作で変換することができます。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Δプロフィールyasuaki福岡でフリーランスをやってます。業界歴13年になりました、SESで働くことがほとんどです。なんでもやってますが、Webが得意です。このブログではプログラミング技術の内容を中心に、たまに商品レビューとかを書いています。配列のまとめ要素を追加する要素を削除する配列を結合する要素を含むか確認する要素数を数える配列の値を展開するPHP/Laravelの学習におすすめの本を選定!・PHPの学習におすすめの本6選!【現役エンジニアが選定】PHPの学習におすすめの本6選!PHPの学習におすすめの本を6つ紹介しています。Laravel・CakePHP・SymfonyなどのWebフレームワークやWordPressなどに使われているPHP。フレームワークの内部のコードや、使用されているシステムのコードを理解するた...codelikes.com2022.08.04・Laravelの学習におすすめの本3選!【現役エンジニアが選定】Laravelの学習におすすめの本3選!(本が必要?)今回はLaravelの学習にオススメの本を3つ紹介しています。学習するにあたって本が必要か考えてみました。Techpit前半はPHPのみでEvernote風メモアプリケーションを開発し、後半は同じものをLaravelで開発する。フレームワークを使用しない場合の開発と、Laravelのメリットを実際に開発することで体感。開発を通じて、簡単なアプリケーションの作り方やSQLの書き方、dockerの使用方法などを学ぶ。商品レビューゲーム食レポお問い合わせホーム検索トップサイドバータイトルとURLをコピーしました。