Livewire:如何将错误消息从中间件传递到页面组件?

Livewire: How to pass an error message from a middleware to a page component?

提问人:CarlosCarucce 提问时间:11/13/2023 更新时间:11/13/2023 访问量:26

问:

我有一个中间件,可以限制谁访问一组 url。如果是客户,它只会重定向到其他地方并显示错误消息

public function handle(Request $request, Closure $next): Response
{
    if ($user = auth()->user()) {
        if ($user->type == User::TYPE_CUSTOMER) {
            return redirect()
                ->route('login')
                ->withErrors('Access restricted to employees', 'login');
        }
    }

    return $next($request);
}

登录路由是一个LiveWire页面组件,将显示错误消息:

<form class="my-auto py-5" wire:submit="login">
    ...

    @error('login')<div class="alert alert-danger">{{ $message }}</div>@enderror

    ...
</form>

当我在组件中添加错误时,它会正确显示。但是,如果它来自我的中间件重定向,它不会显示任何内容。

PHP Laravel 错误处理 中间件 laravel-livewire

评论

0赞 GhanuBha 11/15/2023
您必须指定 Laravel 和 Livewire 版本。谢谢。
0赞 CarlosCarucce 11/21/2023
@GhanuBha 拉拉维尔 10 - LW 3

答: 暂无答案