验证反馈信息对任何CRUD风格的应用程序来说都是非常宝贵的补充。如果你的应用程序允许用户创建存储在数据库中的记录, 那么你当然会想在保存到数据库之前验证它们.Laravel自带了一些方法来处理这个问题,而且它自带的Laravel刀片语法会向用户显示任何验证错误。
确保执行验证检查并将其报告到视图中有两个步骤,请执行以下步骤以将验证错误添加到视图中
步骤1
确保对控制器中提交的请求数据执行正确的验证检查。
在这个控制器的创建函数中,产品的数据是要预先设定的,一个string 名称和一个double 重量。
列表
public function store(Request $request)
{
$product = new Product([
"name" => $request->get('name'),
"weight" => $request->get('weight')
]);
$product->save();
return view('products.index');
}
正如你所看到的,控制器函数处理提交的数据,并将其保存到数据库中,但没有进行任何检查。我们可以调整这个控制器来验证输入的数据,比如说
PHP
public function store(Request $request)
{
//**** Validate the inputs here
$request->validate([
'name' => 'required',
'weight' => 'required',
]);
//****
$product = new Product([
"name" => $request->get('name'),
"weight" => $request->get('weight')
]);
$product->save();
return view('products.index');
}
现在控制器使用$request->validate() ,对照请求中提交的数据检查指定的规则。如果一切正常,它将继续并创建一个新的产品记录,如果不正常,它将退出,重定向到创建视图,并通过$errors 。
第二步
现在控制器正在验证请求,你只需要在视图文件中添加以下代码,我喜欢确保它在表单的上方,但这完全取决于你。
PHP
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif

就这样,确保在控制器中设置验证方法,并在视图(或布局文件)中添加错误循环,以便在全站实现这一功能。
The postHow To Show Validation Errors In Laravel Viewsappeared first onCode Wall.