【发布时间】:2018-10-28 02:42:14
【问题描述】:
如果我按照这个问题的答案:
Add recaptcha to default Laravel Password Reset
并将以下函数添加到 ForgotPasswordController 以覆盖 Trait 中的验证
protected function validateEmail(Request $request)
{
$this->validate($request, ['email' => 'required|email',
'g-recaptcha-response' => 'required|captcha',
]);
}
我收到以下错误:
类型错误:传递给 App\Http\Controllers\Auth\ForgotPasswordController::validateEmail() 的参数 1 必须是 App\Http\Controllers\Auth\Request 的实例,给定的 Illuminate\Http\Request 实例
但如果我通过将以下内容添加到 validateEmail 函数来直接修改 SendPasswordResetEmails 特征:
'g-recaptcha-response' => 'required|captcha',
验证时需要 reCAPTCHA,并且密码重置表单可以正常工作。 问题是,我知道你不应该直接修改 Traits。
我需要做什么才能在密码重置表单上要求 reCAPTCHA?
【问题讨论】: