在Laravel Blade组件中访问$errors

5
我有一个“错误信息”组件,可以通过以下方式使用:
@component('error-messages')
    // Some slot stuff which is used for various things.
@endcomponent

然后在这个范围内,我尝试访问$errors - 然而这个包是空的。你可以看到下面当我在组件外部使用@dump($errors),以及在组件内部使用时。

enter image description here

当我使用@include时,它可以工作,但是使用@component时它是空的。
我知道我可以将$errors传递到组件中,但这需要在每个地方进行 - 这并不理想。
有人有什么想法如何解决这个问题吗?
1个回答

0

通过以下方式在主视图中分享:

@php
  @View::share('errors', $errors);
@endphp

或者在控制器中

    $validator = Validator::make($request->all(), $this->rules());
    if ($validator->fails()) {
        View::share('item', $item);
        $view = view('admin.param_type.form')->withErrors($validator->errors());
        View::share('errors', $view->errors);
        return $view;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接