Learn or Die

生涯勉強。Macです。

「パスワードの確認」をバリデーションチェックする方法

使用機会

新規登録時やパスワード変更時に、「パスワード」「パスワード(確認)」でパスワードを入力したとき。

同じパスワードかどうかをチェックする方法

  1. フォームのパスワード(確認用)のname属性を「xxx_confirmation」にする
  2. 確認用ではないパスワードのバリデーション項目に「confirmed」を設定
  3. エラー文言設定

実際のコード

View▼

<input type="password" name="newpass" maxlength="24" placeholder="パスワード" value="{{ old('newpass') }}">
<input type="password" name="newpass_confirmation" maxlength="24" placeholder="パスワードの確認" value="{{ old('newpass_confirmation') }}">

Controller▼

<?php

$request->validate([
    'newpass'               => 'required | confirmed ', //パスワード
    'newpass_confirmation'  => 'required'               //パスワード(確認用)
], 
[
    'newpass.required'                  => '新しいパスワードを入力してください',
    'newpass.confirmed'                 => '新しいパスワード(確認用)は新しいパスワードと同じパスワードを入力してください。',
    'newpass_confirmation.required'     => '新しいパスワード(確認用)を入力してください。',
]);