我想在同一页面上注册/登录并发送密码重置。
我实现了在不同输入名称的同一页面上注册和登录。但我找不到添加密码重置输入的方法。
我想把它叫做“reset_email”但是在我的控制器上,如果我尝试:
public function sendResetLinkEmail(Request $request)
{
$this->validateEmail($request);
// We will send the password reset link to this user. Once we have attempted
// to send the link, we will examine the response then see the message we
// need to show to the user. Finally, we'll send out a proper response.
$response = $this->broker()->sendResetLink(
$request->only('email')
);
return $response == Password::RESET_LINK_SENT
? $this->sendResetLinkResponse($response)
: $this->sendResetLinkFailedResponse($request, $response);
}
/**
* Validate the email for the given request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateEmail(Request $request)
{
$this->validate($request, ['reset_email' => 'required|email']);
}
我有这个错误:
我们找不到具有该电子邮件地址的用户。
知道如何使用reset_email代替电子邮件输入我的输入名称吗?
感谢您的帮助。
答案 0 :(得分:1)
像这样更新你的方法:
...
$response = $this->broker()->sendResetLink(
['email' => $request->get('reset_email')]
);
...
这将获得您的输入值,并通过密钥电子邮件将其发送给密码经纪人,因此它将通过此列查找用户。