我开始了一个新的 laravel 8 项目并安装了 laravel 微风身份验证入门套件。之后我创建了一个 api 端点,我想验证发往该端点的 post 请求,所以我写了一些代码:
$validation = Validator::make($request->all(), [
'project_name' => 'required',
'project_location' => 'required',
'project_tasks' => 'required',
]);
if ($validation->fails()) {
return redirect()->back()->with('project_error', $validation->errors());
}
但是当我打印出来
{{ dump(Session::get('project_error') }}
它是空的,所以我通过添加以下内容来解决它
\Illuminate\Session\Middleware\StartSession::class,
to protected $middleware in App/Http/Kernel.php 这解决了问题,但是当我输入错误的详细信息时,我的微风入门工具包登录没有返回响应,并且当我向项目 api 端点发出发布请求时它会注销我.
微风认证码:
public function store(LoginRequest $request)
{
$request->authenticate();
$request->session()->regenerate();
return redirect()->intended(RouteServiceProvider::HOME);
}
public function authenticate()
{
$this->ensureIsNotRateLimited();
if (!Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) {
RateLimiter::hit($this->throttleKey());
throw ValidationException::withMessages([
'email' => __('auth.failed'),
]);
}
RateLimiter::clear($this->throttleKey());
}
有谁知道我如何仍然可以获得微风身份验证响应和返回 redirect()->back()->with('project_error', $validation->errors()); 同时。
我希望我提供了足够的信息:)
提前致谢!