在Laravel Blade组件内部访问$ errors

时间:2019-09-10 13:06:48

标签: laravel components laravel-blade

我有一个“错误消息”组件,可以通过

使用
@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 :(得分: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;
    }