1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】Laravel8 Jetstream でパスワード検証ルールを変更する

Last updated at Posted at 2020-12-31

Laravel8 + Jetstream でパスワードの長さなど検証ルールを変更する方法がわかりにくかったので調べた結果を書いておきます。

答え

app/Actions/Fortify/PasswordValidationRules.php を以下のように変更すればOK.

    //(例)パスワードの長さを10文字以上にしたい場合
    protected function passwordRules()
    {
        //return ['required', 'string', new Password, 'confirmed'];
        return ['required', 'string', (new Password)->length(10), 'confirmed'];
    }

他にもアッパーケースや記号を含ませたいなどは new Password 以下のメソッド呼び出しをデイジーチェーンでつないで

(new Password)->length(10)->requireUppercase()->requireNumeric()

とすれば良い。
どんなメソッドがあるかは、vendor/laravel/fortify/src/Rules/Password.php で確認。

背景

Laravel8/Jetstream/Fortify のパスワード検証ルールの設定ファイルは、vendor/laravel/fortify/src/Rules/Password.php.

このファイルを直接編集してもパスワード検証ルールの変更はできるが、vendor フォルダの下なのでこのファイルを直接編集してしまうと composer update などララベルをアップデートした時に編集を上書きされてしまいます。
しかし、app 側でどうやって変更するのかがよくわからなかったので、今回の調査となった次第。

ドキュメント
ララベル本家のパスワード検証ドキュメント

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?