[PHP][Laravel] パスワード変更時の「現在のパスワード」チェックバリデーション

バージョン

Laravel 5.8

概要

パスワード変更機能で現在のパスワードをチェックするバリデーション処理。

コード

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;


    public static function getRules()
    {
        return [
            'password'              => ['required','confirmed','min:8','max:32'],
            'old_password'       => [
                'required', function ($attribute, $value, $fail) {
                    if (!Hash::check($value, Auth::user()->password)) {
                        $fail('現在のパスワードが違います');
                    }
                },
            ],
        ];
    }

現在のパスワード(old_password)をHash::checkでログインユーザのパスワードと比較チェック。



PHPフレームワーク Laravel入門

PHPフレームワーク Laravel入門