Laravel 5.4 在登录页面显示自定义错误消息

Laravel 5.4 Show custom error message in login page

我使用凭据函数修改登录控制器中的登录函数

protected function credentials(\Illuminate\Http\Request $request)
    {
        return ['email' => $request->email, 'password' => $request->password, 'status' => 1];
    }

虽然该功能有效,但我需要 return 一条错误消息,以在登录页面显示 "Account is suspended" 如果用户的状态不等于 1。

如何修改错误信息?

您应该为此制作一个中间件,以便您可以使用它。不仅在您的登录功能中。

<?php

namespace App\Http\Middleware;

use Closure;

use Auth;

class CheckStatus
{
/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if (Auth::user()->status != 1) {
        return redirect('yourloginpageroute')->withInfo("Account is suspended");
    }

    return $next($request);
}

}

假设您的身份验证中有一个状态行。