laravel 怎么获取要修改的信息
发布网友
发布时间:2022-04-06 02:53
我来回答
共1个回答
热心网友
时间:2022-04-06 04:23
你好,Laravel 自带一个简单、方便的 Validation 类用于验证输入的数据,并能获取不能通过验证的错误消息。
验证输入
修改 ArticlesController 控制器 update 动作的代码:
$rules = array('title' => 'required','text'=>'required');
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())...
注意:Validator::make 需要两个参数,输入的数据和验证规则。验证规则是个数组。本例使用的验证规则是必须输入,其他验证规则可以查看帮助文档。
传递错误信息
验证发生错误时候,Lavavel能够用简单的方法向视图反馈错误消息,继续上述代码:
...
if ($validator->fails())
{
return Redirect::route('articles.edit',$id)
->withErrors($validator)
->withInput();
}
...
注意:当错误发生时候,
1、Redirect::route('articles.edit',$id)是转向到修改页面。
2、->withErrors($validator) 是传递验证错误信息。
3、->withInput();则是传递输入的信息。
显示错误信息
Redirect::route('articles.edit',$id)是转向到修改页面,所以现在要在修改视图中显示验证错误信息。修改app/views/articles/edit.blade.php文件:
<h1>Ariticle edit</h1> <hr>
@if ($errors->any())
<div id="error_explanation">
<h2>{{ count($errors->all()) }} 错误发生:</h2>
<ul>
@foreach ($errors->all() as $message)
<li>{{ $message }}</li>
@endforeach
</ul>
</div><hr>
@endif
错误信息在$errors,通过遍历,将所有的信息显示出来。
最终页面
如果修改时,title或text文本框为空的时候,提交,会出现错误信息。
练习
再按着本节的方法,给create添加类似的验证处理。