laravel forms validation rules with example
このチュートリアルでは、Laravelフォームとフォーム検証ルールについて説明します。例を使用して、さまざまなフォーム要素について学習します。
の中に Laravelデータベース のチュートリアル Laravelチュートリアルシリーズ 、データベース処理、移行、シード、生のSQLクエリ、Eloquentモデル、Eloquentリレーションシップ、Artisan、Tinkerについて学びました。
フォームは、Webベースのアプリケーションを開発する際に不可欠な機能です。フォームがなければ、Webアプリケーションについて考えることすら困難です。検証はフォームを作成する際の重要な要素であり、適切な検証がなければこれらは役に立ちません。
フォームを作成する方法はいくつかあります。このチュートリアルでは、そのような方法の1つについて説明しました。このチュートリアルでは、フォームに関連するHTMLの知識も更新します。
このチュートリアルでは、 Laravelフォーム そして Laravel検証ルール 。すべての例で、 Laravelバージョン7 。
学習内容:
Laravelフォーム
前提条件
続行するには、次の概念に精通している必要があります。
#1)ブートストラップ
このチュートリアルでは、Bootstrapフレームワークに精通していることを前提として、BootstrapをCSSフレームワークとして使用しました。これをご覧ください リンク Bootstrapについてもっと知るために。
#2)Laravelのインストールと新しいプロジェクトの作成
を参照してください Laravel紹介チュートリアル Laravelをインストールして新しいプロジェクトを作成する方法を理解する。
#3)Laravelデータベースの構成
を参照してください Laravelデータベースチュートリアル Laravelデータベースの概念の基本的な考え方を理解する。
CSRFトークン
CSRFの略 クロスサイトリクエストフォージェリ 。 CSRFトークンは、WebアプリケーションをCSRF攻撃から保護するために使用されます。これらのトークンには、アプリケーションのサーバー側で生成された一意の値が含まれ、アプリケーションのクライアント側に送信されます。さらに、認証されたユーザーがアプリケーションにリクエストを送信しているかどうかを確認するのに役立ちます。
開発者が以下に示すようなフォームを作成するときに、このトークンを使用します。
@csrf ... フォーム要素
次のリストは、フォームの作成時に使用できるフォーム要素の一部を示しています。
- ラベル
- テキスト入力
- デフォルト入力
- 数値入力
- 日付入力
- ファイル入力
- 隠し入力
- Textarea
- メール入力
- パスワード入力
- ドロップダウンリストまたは選択ボックス
- ラジオボタン入力
- ラジオボタン入力
- チェックされているラジオボタン入力
- チェックボックス
- チェックボックス入力
- チェックされているチェックボックス入力
- ボタン
- 通常ボタン
- 送信ボタン
- 休憩ボタン
フォームを作成する際の参照として、次のコードスニペットを使用できます。
#1)ラベル
説明: ラベルは、フォーム要素のキャプションを表します。
例: のラベルを生成する ファーストネーム 。
First Name
#2)テキスト入力
説明: テキスト入力フィールドは、ユーザーがテキストを入力できるようにする1行の入力フィールドです。
例: のテキスト入力フィールドの生成 ファーストネーム 。
#3)デフォルト入力
説明: デフォルトの入力フィールドを使用すると、開発者はデフォルト値の入力フィールドを挿入できます。ユーザーは、デフォルト値でフォームを送信するか、値を変更することができます。
例: の入力フィールドの生成 ファーストネーム デフォルト値で ジョン・ドウ 。
#4)数値入力
説明: 入力フィールドの数により、ユーザーは数値を入力できます。
例: の数値入力フィールドの生成 年齢 。
#5)日付入力
説明: 日付入力フィールドを使用すると、ユーザーは日付を選択できます。
例: の日付入力フィールドの生成 誕生日 。
#6)ファイル入力
説明: ファイル入力フィールドを使用すると、ユーザーはファイルをアップロードできます。
例: のファイル選択フィールドを生成する 証明書のコピー アップロードします。
#7)隠し入力
説明: 非表示の入力フィールドを使用すると、開発者はユーザーがフォームを送信したときにデータを追加でき、ユーザーはこれらのデータを表示または変更できません。
例: の非表示入力フィールドの生成 学生証 それは価値があります 220 。
#8)テキストエリア
説明: textareaを使用すると、ユーザーは長いテキストを入力できます。複数行のテキストが含まれる場合があります。
例: のテキストエリアを生成する 住所 。
#9)メール入力
説明: 電子メール入力フィールドを使用すると、ユーザーは電子メールアドレスを入力できます。メールフォーマットを自動的に検証します。
例: 電子メール入力フィールドの生成。
#10)パスワード入力
説明: パスワード入力フィールドを使用すると、ユーザーはパスワードを入力できます。入力する文字はマスクされます。
例: パスワード入力フィールドを生成します。
#11)ドロップダウンリストまたは選択ボックス
説明: ドロップダウンリストまたは選択ボックスを使用すると、ユーザーはオプションのリストからオプションを選択できます。
例: のドロップダウンリストを生成する 題名 。
Title -- Mr. Ms. Dr.
#12)ラジオボタン入力
a)ラジオボタン入力
説明: ラジオボタンを使用すると、ユーザーは2つ以上の相互に排他的なオプションのリストから1つのオプションを選択できます。
例: のラジオボタン入力フィールドの生成 性別 。
Gender Male Female
b)チェックされているラジオボタン入力
説明: これにより、開発者はチェックされているラジオボタン入力フィールドを挿入できます。
例: のラジオボタン入力フィールドの生成 性別 - 男性 オプションは チェック済み 。
Gender Male Female
#13)チェックボックス入力
a)チェックボックス入力
説明: チェックボックスを使用すると、ユーザーは特定のオプションセットから1つ以上のオプションを選択できます。
例: のチェックボックス入力フィールドの生成 色 。
Colours Red Yellow Green
b)チェックされているチェックボックス入力
説明: これにより、開発者はチェックされているチェックボックス入力フィールドを挿入できます。
例: のチェックボックス入力フィールドの生成 色 - ネット です チェック済み 。
Colours Red Yellow Green
#14)ボタン
Laravelフォームを作成するときは、3種類のボタンを使用できます。
- 通常ボタン
- 送信ボタン
- リセットボタン
a)通常のボタン
説明: 通常のボタンはクリック可能なボタンです。
例: 通常のボタンを生成します。
b)送信ボタン
説明: 送信ボタンを使用すると、ユーザーはフォームデータをアプリケーションのサーバー側に送信できます。
例: 送信ボタンを生成します。
c)リセットボタン
説明: リセットボタンを使用すると、ユーザーはフォームフィールドを元の値に設定できます。
例: リセットボタンを生成します。
Laravel検証ルール
次のリストは、いくつかのLaravel検証ルールを示しています。
注意 :を参照してください Laravel検証の公式ドキュメント 検証の完全なリストを表示します。重要なルールのいくつかを以下に示します。
#1) 前または等しい(日付) - before_or_equal:date
この検証ルールでは、指定された日付以前の値のみを使用できます。
#二) の間に - 間:最小、最大
この検証ルールでは、指定された最小値と最大値の間のサイズのみを使用できます。
#3) 日付 - 日付
この検証ルールでは、有効な非相対日付の使用のみが許可されています。 strtotime PHP関数。
#4) 日付形式 - date_format:format
この検証ルールでは、フィールドは指定された形式と一致する必要があります。
#5) 異なる - 異なる:フィールド
SOAPおよびRESTWebサービスのインタビューの質問
この検証ルールでは、フィールドの値はフィールドとは異なる必要があります。
#6)明確 - 明確な
配列を操作する場合、この検証ルールでは、フィールドに重複する値があってはなりません。
# 7) Eメール - Eメール
この検証ルールでは、フィールドは電子メールアドレスとしてフォーマットする必要があります。
#8) 画像ファイル) - 画像
この検証ルールでは、フィールドは画像(jpeg、png、bmp、gif、svg、またはwebp)である必要があります。
#9) Nullable - null許容
この検証ルールでは、フィールドはnullである必要があります。
#10) 数値 - 数値
この検証ルールでは、フィールドは数値である必要があります。
#十一) 正規表現 - 正規表現:パターン
この検証ルールでは、フィールドは指定された正規表現と一致する必要があります。
#12) 必須 - 必須
この検証ルールでは、フィールドは入力データに存在し、空ではない必要があります。
#13) サイズ - サイズ:値
この検証ルールでは、フィールドのサイズは指定された値と一致する必要があります。
#14) 時々 - 時々
この検証ルールは、フィールドが入力配列に存在する場合にのみ、フィールドに対して検証チェックを実行します。
#15) URL - url
この検証ルールでは、フィールドは有効なURLである必要があります。
Laravel検証を使用したLaravelフォームの例
この例では、基本的なLaravel検証を使用して学生登録フォームを作成します。
ステップ1: 新しいLaravelプロジェクトをインストールします。
ステップ2: プロジェクトをデータベースに接続します。
ステップ3: 作成する xxxx_xx_xx_xxxxxx_create_students_table 移行と 学生 モデル。
を開きます xxxx_xx_xx_xxxxxx_create_students_table.php 以下に示すように、既存のコードをファイルして変更します。
increments('id'); $table->string('title',10); $table->string('name'); $table->date('bday'); $table->integer('age'); $table->string('gender',10); $table->string('phone'); $table->string('address'); $table->string('email'); $table->string('password'); $table->boolean('t&c'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('students'); } }
Student.phpファイルを開き、以下に示すように既存のコードを変更します。
ステップ4: コマンドプロンプトで次のコマンドを実行して、移行を実行します。
php artisan migrate
ステップ5: 次の2つのルートをに追加します ルート/web.php ファイル。
Route::get('student/create','StudentController@create')->name('student.create'); Route::post('student/create','StudentController@store')->name('student.store');
ステップ6: 作成する StudentController 以下に示すように、既存のコードを変更します。
all(); $request->validate(( 'title' => 'required', 'name' => 'required|max:255', 'bday' => 'required|date', 'age' => 'required|numeric', 'gender' => 'required', 'phone' => 'required|min:10', 'address' => 'required|max:255', 'email' => 'required|email|max:255', 'password' => 'required|min:6|max:255', 't&c' => 'required', )); $input('password') = bcrypt($input('password')); Student::create($input); return back()->with('success','Successfully registered a new student!'); } }
ステップ7: 関連するビューファイルを作成します (create.blade.php) 次のコードを追加します。
Laravel 7 Forms Tutorial @if (count($errors) > 0) @foreach ($errors->all() as $error) - {{ $error }}
@endforeach
@endif @if ($message = Session::get('success')) × {{ $message }} @endif Student Registration Form
@csrf Title -- Mr. Ms. Name Birth Date Age Gender Male Female Phone Address Email Password I agree to the terms and conditions.
ステップ8: ブラウザでプロジェクトを実行します。以下のスクリーンショットのような出力が生成されます。

このフォームをいじってみましょう。フォームに無効な値を入力すると、検証エラーが発生します。フォームに正しく入力して送信すると、成功メッセージが表示され、値がデータベースに保存されます。
結論
Laravelフォームは、開発者がクライアントまたはサイト訪問者からデータを収集するのに役立ちます。開発者は、適切な検証を行ってフォームを作成する必要があります。そうしないと、フォームがそのままでは役に立たない場合があります。このチュートリアルでは、重要なLaravelフォーム検証ルールについて説明しました。
このチュートリアルがお役に立てば幸いです。次のチュートリアルで、ファイルのアップロード、メールの送信、セッション、認証、承認について説明しますので、またお会いしましょう。
幸せな学習!
<< PREV Tutorial | 次のチュートリアル>>
推奨読書
- 初心者のためのPHPLaravelチュートリアル:Laravelフレームワークとは
- Laravelデータベース、移行、Eloquent ORM、Tinker
- Laravelセッション、ファイルのアップロード/ダウンロードおよび権限
- LaravelコレクションとLaravelForgeチュートリアル
- Postmanのアサーションによる応答検証の自動化
- 検証テストの究極のガイド
- 検証と妥当性確認の正確な違いと例