laravel - 验证后如何传递额外数据?

标签 laravel laravel-5.7

验证后我想传递一些额外的数据来查看。但是,我无法发送它。

我的 Controller 就像,

public function test()
{
    $validator = Validator::make(
        request()->all(), 
        [ 'ziptest' => 'regex:/^([0-9]{3}-[0-9]{4})$/']
    );

    $errors = $validator->errors();

    if($errors->any()) {
        return back()
            ->withErrors($errors)
            ->withTitle('Data From Controller')
            ->withInput();
    }

    return 'success';
}

在我的 Blade 中,我想检查标题是否通过。所以在我的 Blade View 中我有

@if($errors->any())
    @foreach($errors->all() as $error)
        <li>{{ $error }}</li>
    @endforeach
@endif

@if(isset($title))
    <p>{{ $title }}</p>
@endif

但是,错误部分显示正常。但不是标题。为什么它不起作用?

我也尝试过用这种方式发送标题。

return back()->withErrors($errors)
    ->with('title','Data From Controller')
    ->withInput();

它也不起作用。

我在 SO 中进行了搜索,发现了几个有关将数据从 Controller 传递到 View 的类似问题。然而,我的情况有点不同。

最佳答案

在您的示例中,您将重定向回之前的位置。当您使用 with* 进行重定向时,信息会闪现到 session 中,而不是像您返回 View 那样直接提供给 View 。

要使其与您的示例配合使用,您必须检查 session('title') 以从重定向中获取闪烁的标题。

关于laravel - 验证后如何传递额外数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55683092/

相关文章:

Laravel Notification 想在通知 Blade 模板中使用 view html

php - 如何在资源/访问受限的共享主机上使用 ffmpeg 和 laravel 5.7

html - 在移动 View 中显示模糊的引导响应表

php - Laravel eloquent where 方法给出不区分大小写

php - 如何获取使用 `array` 邮件驱动程序发送的消息?

mysql - Laravel 编写一个查询来查找是否在日期启用了访问

Laravel Voyager 登录后重定向到其他页面

php - 在 Laravel 中从数据库创建实体类

laravel - 图像无法显示,因为它包含错误 laravel

php - 即使事件被触发,Laravel Listener 也没有被触发