【发布时间】:2019-03-07 15:51:38
【问题描述】:
我正在安装一个新的 laravel 应用程序,长话短说,我得到了 php artisan make:auth 的重置密码功能
但我需要将重置密码的最小长度更改为 4,框架不让我。
到目前为止我的尝试
这是ResetPasswordController.php
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/dashboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
public function rules()
{
return [
'token' => 'required',
'email' => 'required|email',
'password' => 'required|confirmed|min:4',
];
}
}
此功能有效,当我尝试提交 3 个字符时,错误显示正确。 The password must be at least 4 characters.
但是,如果我提交 4 个字符,则会出现此错误 Passwords must be at least eight characters and match the confirmation.
在查看 laravel 文档后
这个函数/Illuminate/Auth/Passwords/PasswordBroker.php@validatePasswordWithDefaults是罪魁祸首。 link
这是一个错误吗?还是只有我不知道如何使用重置密码功能? 感谢您的帮助
【问题讨论】:
-
发布其余密码重置
-
@MartinHenriksen 我已经把剩下的密码重置了
-
@MartinHenriksen 我找到了答案,感谢您的帮助!
-
请尝试用受保护的可见性覆盖函数 rules():
protected function rules()