我在控制器中有这个...
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'category_id' => 'required',
'description' => 'required',
'price' => 'required',
'long_description' => 'required'
]);
$product = new Product();
foreach ($request->all() as $key => $value) {
if ($key !== '_token') $product->$key = $value;
}
$product->save();
return redirect('/admin/products');
}
这在视图中...
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
未经验证的表单很完美。但是我不明白为什么他在重定向时不向我显示视图中的错误。
答案 0 :(得分:0)
您需要执行以下操作-
public function store(Request $request)
{
$request->validate($request, [
'name' => 'required',
'category_id' => 'required',
'description' => 'required',
'price' => 'required',
'long_description' => 'required'
]);
if (!$validator->fails()) {
$product = new Product();
foreach ($request->all() as $key => $value) {
if ($key !== '_token') $product->$key = $value;
}
$product->save();
return redirect('/admin/products');
} else {
\Session::flash('errors', $validator->messages());
return redirect()->back()->withInput();
}
}
我对您的代码进行了两项更改-
答案 1 :(得分:0)
我已经解决了。问题是我在api.php中有发布路由。通过将其移动到web.php即可。