エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】パスワード入力時に、確認の入力をバリデーションする。【185日目】

こんな時に使う

よく新規会員登録とかで見かける、

  • パスワード入力
  • パスワードの確認

とかで、同じパスワード入れないと通らないあれ。

こう書く

  1. id='xxx'のバリデーションに、 confirmedを設定
  2. id='xxx__confirmation'を、確認用のformとして用意する
  3. id='xxx'とid='xxx__confirmation'が一致しなかったらエラーが出る

例)App\Http\Requests\XxxRequest.php

/**
 * リクエストに適用するバリデーションルールを取得
 *
 * @return array
 */
public function rules()
{
    return [
        'password' => 'required|confirmed',
        'password_confirmation' => 'required',
    ];
}

/**
 * 定義済みバリデーションルールのエラーメッセージ取得
 *
 * @return array
 */
public function messages()
{
    return [
        'password.confirmed' => 'パスワードが異なります',
    ];
}

公式ドキュメント

バリデーション 5.3 Laravel