Laravel 表单验证功能
2017-02-26 22:20
381 查看
Laravel有一套非常强大的表单验证功能。
这里将利用继承
Request创建类,进行验证。
现在有表单
<form action="{{ url('saveArticle') }}" method="post"> {{ csrf_field() }} <h1>文章</h1> <br/>标题: <br/> <input type="text" name="title" value="{{ old('title') }}"> <br/> 内容: <br/> <textarea style="height: 200px; width: 300px;" name="content">{{ old('content') }}</textarea> <br/> <input type="submit" value="提交"> </form>
这是点击提交后的路由
Route::post('/saveArticle', 'TaskController@store');
TaskController的
store方法
class TaskController extends Controller { public function store(Request $request) { //...存储操作 } }
如果没有表单验证,未输入任何数据点击提交,就会在数据库中插入空的数据,这是非常不友好的,我们需要过滤这种情况。
首先使用控制台在项目下使用
php artisan make:request CheckValRequest
随后在
app\Http\Request下生产了一个
CheckValRequest类。
class CheckValRequest extends Request { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'title' => 'required | Min:3', 'content' => 'required', ]; } }
authorize()方法主要判断该用户是否有权限进行接下来的操作,返回
true表示有,这里我们把它改成
true。
rules()方法定义相关验证规则。
required表示
title不能为空,
Min : 3表示
title长度最小为3 。
定义好规则后,修改
TaskController的
store()方法
class TaskController extends Controller { public function store(CheckValRequest $request) { //...存储操作 } }
这里使用
CheckValRequest作为参数,这样就完成了数据的验证。
如果我们填写的数据不满足规定的要求,会返回之前的页面。不然会进行
store()的操作。
可以通过
$errors来获取错误。
<form action="{{ url('saveArticle') }}" method="post"> {{ csrf_field() }} <h1>文章</h1> <br/>标题: <br/> <input type="text" name="title" value="{{ old('title') }}"> <br/> 内容: <br/> <textarea style="height: 200px; width: 300px;" name="content">{{ old('content') }}</textarea> <br/> <input type="submit" value="提交"> </form>
@if($errors->any())
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
@endif
old()方法用来获取”老数据”。
提交空白表达时的效果:
下面的2行就是具体的错误。
相关文章推荐
- 功能强大的Validator验证表单
- 如何在asp.net中用jQuery实现便捷的提示功能和表单验证功能
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- <dedecms开发》给dede自定义表单添加提交验证功能
- thinkphp 表单自动验证功能
- 一个功能强大的表单验证程序
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- jQuery插件Validation验证表单实现javascript表单智能验证功能
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js
- FormValidate 表单验证功能代码更新并提供下载
- js表单验证功能
- [Joomla] 利用joomla内置的表单验证功能
- 功能超多的JS验证表单大全
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- 功能非常强大的表单验证插件jQuery formValidator
- 如何在asp.net中用jQuery实现便捷的提示功能和表单验证功能
- jQuery插件Validation验证表单实现javascript表单智能验证功能
- jquery 实现表单验证功能代码(简洁)
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js