如何使用 Jetstream 覆盖 Laravel 中所需的密码长度?
在另一个项目中,我所要做的就是从
Password
转到 vendor\laravel\fortify\src\Rules\Password.php
类,并将 length
变量设置为我想要的任何内容。
像这样:
class Password implements Rule
{
/**
* The minimum length of the password.
*
* @var int
*/
protected $length = 3;
{...}
}
在我当前的项目中,尝试安装 Bootstrap 后,我必须运行命令
php artisan ui bootstrap --auth
。这弄乱了注册、登录和个人资料视图的外观。
因此我通过运行以下命令再次重新安装了 Jetstream 和 livewire:
composer require laravel/jetstream
php artisan jetstream:install livewire
现在,当我尝试创建密码少于 8 个字符的新用户时,即使我的
length
类中的 Password
变量设置为 3:,我也会收到错误
我想再次将最小密码长度设置为3。我该怎么做?
提前谢谢您。
编辑:
我尝试将
passwordRules
方法从 PasswordValidationRules
特征更改为以下内容:
protected function passwordRules()
{
return ['required', 'string', (new Password)->length(3), 'confirmed'];
}
但还是没成功。
在应用程序/操作/Fortify/PasswordValidationRules.php中
将
passwordRules
功能更改为如下(示例密码长度至少为4)
protected function passwordRules(): array
{
$password = new Password();
$password->length(4);
return ['required', 'string', $password , 'confirmed'];
}
环境: 拉拉维尔 10.0.2 ;捷流 3.1
供应商\laravel ortify\src ules\Password.php -> 受保护的 $length
试试这个..
前往 u000bendor\laravel ramework\src\Illuminate\Validation\Rules\Password.php
并找到
公共静态函数default() { $password = is_callable(static::$defaultCallback) ? call_user_func(静态::$defaultCallback) : 静态::$defaultCallback;
return $password instanceof Rule ? $password : static::min(3);
}
将 $password : static::min(3) 值从 8 更改为 3