Laravel - 覆盖 Jetstream 所需的密码长度

问题描述 投票:0回答:3

如何使用 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:

,我也会收到错误

enter image description here

我想再次将最小密码长度设置为3。我该怎么做?

提前谢谢您。


编辑:

我尝试将

passwordRules
方法从
PasswordValidationRules
特征更改为以下内容:

protected function passwordRules()
    {
        return ['required', 'string', (new Password)->length(3), 'confirmed'];
    }

但还是没成功。

php laravel laravel-8
3个回答
0
投票

在应用程序/操作/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


0
投票

试试这个..

  1. 前往 u000bendor\laravel ramework\src\Illuminate\Validation\Rules\Password.php

  2. 并找到

    公共静态函数default() { $password = is_callable(static::$defaultCallback) ? call_user_func(静态::$defaultCallback) : 静态::$defaultCallback;

     return $password instanceof Rule ? $password : static::min(3);
    

    }

  3. 将 $password : static::min(3) 值从 8 更改为 3


-1
投票

供应商\laravel ortify\src ules\Password.php -> 受保护的 $length

© www.soinside.com 2019 - 2024. All rights reserved.