【Laravel】Laravel8 Jetstream でパスワード検証ルールを変更する
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
側でどうやって変更するのかがよくわからなかったので、今回の調査となった次第。
ドキュメント
ララベル本家のパスワード検証ドキュメント
Author And Source
この問題について(【Laravel】Laravel8 Jetstream でパスワード検証ルールを変更する), 我々は、より多くの情報をここで見つけました https://qiita.com/denbnddb/items/d2722e2f05693663169f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .