Laravel でのフォーム検証: ユーザーが送信したデータの有効性を確認する

PHPz
リリース: 2023-08-13 12:18:22
オリジナル
1132 人が閲覧しました

Laravel でのフォーム検証: ユーザーが送信したデータの有効性を確認する

Laravel でのフォーム検証: ユーザーが送信したデータの有効性を保証する

はじめに:
最新の Web アプリケーションでは、ユーザーが入力したデータの有効性は非常に重要です。重要。ユーザー入力が検証されない場合、アプリケーションは悪意のある攻撃、データ破損、またはセキュリティの脆弱性に対して脆弱になる可能性があります。優れた PHP フレームワークとして、Laravel は強力かつ柔軟なフォーム検証機能を提供し、ユーザーが送信したデータを簡単に検証およびフィルタリングして、その正確性と合法性を保証するのに役立ちます。

1. Laravel でのフォーム検証の概要
Laravel でのフォーム検証は、フォーム リクエスト クラス (Form Request Class) を使用して実装されます。フォームリクエストクラスは、ユーザーが送信したフォームデータを検証するためにLaravelによって提供されるバリデータです。このクラスを使用して、検証ルール、カスタム エラー メッセージを定義し、検証後のロジックを処理できます。簡単な例を次に示します。

<?php

namespace AppHttpRequests;

use IlluminateFoundationHttpFormRequest;

class RegisterRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'name'     => 'required',
            'email'    => 'required|email',
            'password' => 'required|min:8',
        ];
    }

    public function messages()
    {
        return [
            'name.required'     => '用户名不能为空',
            'email.required'    => '邮箱不能为空',
            'email.email'       => '邮箱格式不正确',
            'password.required' => '密码不能为空',
            'password.min'      => '密码长度不能少于8个字符',
        ];
    }
}
ログイン後にコピー

上の例では、RegisterRequest という名前のフォーム要求クラスを作成しました。このクラスでは、検証ルールとカスタム エラー メッセージを定義します。具体的には、検証ルールでは、名前フィールド、電子メール フィールド、およびパスワード フィールドが必須であることが求められます。同時に、電子メール フィールドは有効な電子メール アドレスである必要があり、パスワード フィールドの最小長は 8 文字です。検証が失敗した場合は、カスタム エラー メッセージを定義して、エラー情報をユーザーにわかりやすく表示することもできます。

2. フォーム リクエスト クラスの使用方法
フォーム リクエスト クラスをコントローラーで使用するのは非常に簡単です。コントローラー メソッドのパラメーター タイプのヒントとして必要なだけです。 Laravel フレームワークは、フォームリクエストクラスの検証ルールに基づいて検証を自動的に実行します。検証に合格した場合、ユーザーは送信されたデータの処理を続行できます。検証が失敗した場合、ユーザーは元のフォームにリダイレクトされ、対応するエラー メッセージが表示されます。例:

<?php

namespace AppHttpControllers;

use AppHttpRequestsRegisterRequest;

class RegisterController extends Controller
{
    public function store(RegisterRequest $request)
    {
        // 验证通过,处理用户提交数据
        // ...
    }
}
ログイン後にコピー

上記の例では、store という名前のメソッドを作成し、RegisterRequest クラスをパラメーター タイプのヒントとして使用しました。このようにして、Laravel は RegisterRequest クラスの検証ルールに基づいて、ユーザーが送信したデータを自動的に検証します。検証が成功すると、ストア メソッドでユーザーが送信したデータのロジックを処理できます。

3. カスタム検証ルール
Laravel が提供するデフォルトの検証ルールに加えて、検証ルールを簡単にカスタマイズすることもできます。 Laravel では、拡張された Validator クラスの extend メソッドを使用して、カスタム検証ルールを簡単に定義できます。以下に例を示します:

<?php

namespace AppProviders;

use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesValidator;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
ログイン後にコピー

以上がLaravel でのフォーム検証: ユーザーが送信したデータの有効性を確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート