Laravel更改密码

我尝试执行密码重置功能。但是我不想让某些电子邮件重设密码。例如:管理员,支持人员,并且如果用户状态为0,则他无法重置密码。这是SendsPasswordResetEmails控制器的validateEmail函数,但是您怎么看却很难编码。也许有更好的方法来解决这个问题?

/**
     * Validate the email for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function validateEmail(Request $request)
    {
        $disabledUser = User::where('email', $request->email)->where('status', 0)->first('email');
        $users = 'support@gmail.com, sales@gmail.com, admin@gmail.com, '.$disabledUser->email;

        $request->validate(['email' => 'required|email|not_in:'.$users]);
    }
评论