.net column

.NET開発者のためのブログメディア

Laravelでのvalidationを使いこなす!基礎やエラーを実例で解説

 
Laravelでのvalidationを使いこなす!基礎やエラーを実例で解説
最新情報や関心のある情報を毎日お届け。 FEnetメールマガジン メルマガ登録はこちらから>>
SE
validationを使うとどのようになりますか?
PM
Laravelでのvalidationを使うと、入力の項目チェックができます。

Laravelでのvalidationの使い方とは?


今回は、Laravelでのvalidationの使い方について説明します。validationを使うと、入力項目のチェックができます。
例えば、
・必須入力項目を入力しているか?
・メールアドレス形式になっているか?
・パスワードは8文字以上であるか?
・パスワードと確認用パスワードは一致しているか?
などのチェックを簡単に行えます。
これ以外にも多くのvalidationチェックが可能です。

Laravelでのvalidationの使い方に興味のある方はぜひご覧ください。

基本的な使い方

Laravelでのvalidationの基本的な使い方を紹介します。
Schemaは以下のように記述しています。name、email、password、password_confirmationを画面から入力させる想定です。

viewは以下のように記述しています。

validationはcontrollerに記述します。ここでは、name、email、passwordにvalidationを指定しています。

validationの設定内容について説明します。
「required」は、必須入力項目であることを意味します。入力しない場合、データ登録されません。
「string」は文字列のみを受け付けます。数字を入力すると、データ登録されません。
「email」はメールアドレス形式であるか否かをチェックします。メールアドレス形式でないと、データ登録されません。
「min」は最小文字列数をチェックします。「min:8」とすることで、8文字以上入力されているか否かチェックします。8文字未満では、データ登録されません。
「confirmed」はこの場合は、password_confirmationと同値であるか否かをチェックします。passwordとpassword_confirmationが異なると、データ登録されません。

エラー表示

Laravelでのvalidationのエラー内容を画面表示する方法を紹介します。viewに以下のように記述します。

何も入力しないまま登録しようとすると、以下のメッセージが表示されます。

validationのエラー内容がリスト形式で表示されることが分かります。
特定のエラー内容のみ表示するには、以下のように記述します。

何も入力しないまま登録しようとすると、以下のメッセージが表示されます。

passwordのエラーのみが表示されることが分かります。password以外のvalidationエラーは表示されません。
このようにLaravelでは、validationのエラー内容を取得、表示できます。

unique

Laravelにて、テーブル内でユニークであるか否かをチェックするuniqueについて紹介します。実際のソースコードを見てみましょう。

1レコード登録後に、nameに同じ値を使ってレコード登録しようとすると、以下のようにvalidationエラーになります。

このようにLaravelでは、テーブル内でユニークであるか否かをチェックできます。

bail

Laravelでvalidationエラーになったら、以降のvalidationチェックをしないbailについて紹介します。実際のソースコードを見てみましょう。

例えば、nameのstringでvalidationエラーになった場合、uniqueはチェックしません。

SE
Laravelでのvalidationの基本的な使い方やエラーがわかりました。
PM
解説を参考に試してみてください。

まとめ

いかがでしたでしょうか。Laravelでのvalidationの使い方について説明しました。validationを使うと、入力項目のチェックができます。
これ以外にも多くのvalidationチェックが可能です。
ぜひご自身でLaravelのソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags