使用错误键显示刀片错误

时间:2017-09-09 18:36:45

标签: laravel session laravel-5 laravel-5.4

我使用return back()->withErrors()方法返回自定义错误,完全如下:

return back()->withErrors([
    'A' => 'XXX',
    'B' => 'YYY
])

现在,如果我可以在我的刀片中使用{{ dd($errors) }},则表明错误是这样返回的:

ViewErrorBag {#208 ▼
  #bags: array:1 [▼
    "default" => MessageBag {#209 ▼
      #messages: array:2 [▼
        "A" => array:1 [▼
          0 => "XXX"
        ]
        "B" => array:1 [▼
          0 => "YYY"
        ]
      ]
      #format: ":message"
    }
  ]
}

如果我尝试使用{{ dd($errors->all()) }},它会返回一个数组,但我不想通过数组访问它。

我想要的是能够使用其密钥并通过密钥{{ dd($errors->B) }}

返回错误

实现这一目标的正确方法是什么?

3 个答案:

答案 0 :(得分:2)

在控制器中写这样的

redirect()->back()->withInput()->withErrors();

在模板中检查并输入例如

@if ($errors->has('name'))
   <span class="help-block">
       <strong>{{ $errors->first('name') }}</strong>
   </span>
@endif

答案 1 :(得分:1)

此方法会自动重定向您按下并显示错误

$data = $request->validate([
            'title' => 'required',
            'body' => 'required',
        ]);

答案 2 :(得分:0)

通过数组%autoreload访问或通过

将数组转换为对象
$errors['A']

然后访问$errors = (object)$errors; $errors->A