ホームページ > PHPフレームワーク > Laravel > Laravel開発: Laravel Validationを使用してリクエストデータを検証する方法は?

Laravel開発: Laravel Validationを使用してリクエストデータを検証する方法は?

王林
リリース: 2023-06-14 08:35:51
オリジナル
1255 人が閲覧しました

Laravel 開発: Laravel Validation を使用してリクエストデータを検証する方法は?

Laravel は現在最も人気のある PHP フレームワークの 1 つであり、その理由の 1 つは、Laravel Validation を含む多くの優れたコンポーネントを提供していることです。 Web開発の過程では、フォーム送信など、フロントエンドから送信されたデータが仕様を満たしているかを検証する必要がよくあります。このとき、データ検証にはLaravel Validationコンポーネントを使用する必要があります。

この記事では、Laravel Validationの基本的な使い方と事例を紹介します。

  1. 検証の紹介

コントローラーのバリデーターの紹介:

use IlluminateSupportFacadesValidator;
ログイン後にコピー
  1. 検証ルール

Laravel 検証サポート A必須、電子メール、日付などのさまざまな検証ルール。ニーズに応じて選択できます。次の表に、一般的に使用されるルールをいくつか示します。

#regex通常の一致max最大長min最小長
RuleDescription
必須必須
emailメール形式
date日付形式
    バリデーターの構築
Laravel Validaton を使用するには、最初にバリデーターを構築する必要があります

    Validator ファサードの make メソッドを使用する:
  • public function validate(Request $request)
    {
      $validator = Validator::make($request->all(), [
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users|max:255',
        'password' => 'required|min:6|max:255',
      ]);
    
      if ($validator->fails()) {
        return redirect('register')
          ->withErrors($validator)
          ->withInput();
      }
    
      // 验证通过,执行代码
    }
    ログイン後にコピー
    リクエスト検証を使用する:
  • public function rules()
    {
      return [
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users|max:255',
        'password' => 'required|min:6|max:255',
      ];
    }
    
    public function register(Request $request)
    {
      $this->validate($request, $this->rules());
    
      // 验证通过,执行代码
    }
    ログイン後にコピー
    検証エラー情報
検証が失敗した場合は、次のような withErrors メソッドを通じてエラー情報を取得できます。

if ($validator->fails()) {
  return redirect('register')
    ->withErrors($validator)
    ->withInput();
}
ログイン後にコピー

その後、$ を呼び出します。ビュー 対応するエラー情報は、errors 変数から取得できます。

@if ($errors->has('name'))
  <span class="help-block">
    <strong>{{ $errors->first('name') }}</strong>
  </span>
@endif
ログイン後にコピー

    カスタム エラー情報
バリデーター構造の 2 番目のパラメーターで、カスタム エラーを設定できます。情報 検証エラーに関するより具体的なヒントとして、次のようなものが挙げられます:

public function rules()
{
  return [
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users|max:255',
    'password' => 'required|min:6|max:255',
  ];
}

public function messages()
{
  return [
    'name.required' => '名称不能为空',
    'email.required' => '邮箱不能为空',
    'email.email' => '请输入正确的邮箱地址',
    'email.unique' => '该邮箱已经被注册',
    'password.required' => '密码不能为空',
    'password.max' => '密码长度不能超过:max个字符',
  ];
}

public function register(Request $request)
{
  $validator = Validator::make($request->all(), $this->rules(), $this->messages());

  if ($validator->fails()) {
    return redirect('register')
      ->withErrors($validator)
      ->withInput();
  }

  // 验证通过,执行代码
}
ログイン後にコピー
この記事では、上記のコードを例として、Laravel Validation の基本的な概要を説明します。

参考資料:

「Laravelフレームワーク」

以上がLaravel開発: Laravel Validationを使用してリクエストデータを検証する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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