概要
- laravel9からのバリデーションで、パスワード文字列の複雑さチェックを管理するものが追加されたので簡単にまとめてみる。
- ちなみに細かい内容は公式にわかりやすく記載されているのでそちらを参照いただきたい。
記載方法
-
パスワードバリデーションでは下記の内容がチェック可能である。
- 最低文字数
Password::min(最低文字数)
- 最低1つの文字が必要
Password::min(最低文字数)->letters()
- 最低1つの数字が必要
Password::min(最低文字数)->numbers()
- 最低1つの記号が必要
Password::min(最低文字数)->symbols()
- 最低大文字小文字が1文字ずつ必要
Password::min(最低文字数)->mixedCase()
- 最低文字数
-
下記のように
Illuminate\Validation\Rules\Password
をuseして静的呼び出しのメソッドチェーンを用いて設定する 。(キーpasswordの値は必須かつ最低8文字かつ最低1文字の数字含む)formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'password' => ['required', Password::min(8)->numbers()], ]; }
-
numbers()
だけの呼び出しはできない模様。必ずmin()
を指定する必要あり。