在 Laravel Blade 组件中访问 $errors

Posted

技术标签:

【中文标题】在 Laravel Blade 组件中访问 $errors【英文标题】:Access $errors inside Laravel Blade Component 【发布时间】:2020-01-12 06:04:08 【问题描述】:

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

@component('error-messages')
    // Some slot stuff which is used for various things.
@endcomponent

然后在此我尝试访问$errors - 但是包是空的,您可以在下面看到我@dump($errors) 在组件之外,然后在组件内。

当我使用 @include 时它可以工作,但使用 @component 它是空的

我知道我可以将$errors 传递到组件中,但这需要在任何地方发生 - 这并不理想。

有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

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

@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;
    

【讨论】:

以上是关于在 Laravel Blade 组件中访问 $errors的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 如何在blade文件中使用Vue组件

Laravel 如何在blade文件中使用Vue组件

在 Laravel 8 Jetstream 的 Blade 组件中绑定 Livewire 属性

我如何在 laravel Blade 中使用 vuejs 组件?

Blade 视图组件的 Laravel 路由模型绑定

从(Laravel 8)Blade 模板文件调用函数