我使用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) }}
实现这一目标的正确方法是什么?
答案 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