Laravel 表单验证
程序员文章站
2022-05-04 22:30:06
...
创建一个request验证文件
php artisan make:request ArticlesRequest Request created successfully.
文件内容如下:
app/Http/Requests/ArticlesRequest.php'required', //这里是指定验证的项目,和验证的规则,以数组的方式编写 'content'=>'required' ]; }}
验证规则参考官网: https://laravel.com/docs/5.2/validation
修改controller的store方法
app/Http/Requests/ArticlesRequest.phpuse App\Http\Requests\ArticlesRequest;// public function store(Request $requests){ public function store(ArticlesRequest $requests){ //这里传入的是刚才创建的ArticlesRequest的实例 Articles::create($requests->all()); return redirect('/articles'); }
因为现在增加了验证,所以对store方法的进入的请求request都会进行过滤,但是直接过滤就不知道成功和失败了,所以要额外增加一个提示
resources/views/articles/create.blade.php@extends('layout.app')@section('content')创建文章
{!! Form::open(['url'=>'/articles/store']) !!}{!! Form::label('title', 'Title:') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!}{!! Form::label('content', 'Content:') !!} {!! Form::textarea('content', null, ['class' => 'form-control']) !!}{!! Form::label('publish_at', 'publish_at:') !!} {!! Form::date('publish_at', date('Y-m-d'), ['class' => 'form-control']) !!}{!! Form::submit('发表文章',['class'=>'btn btn-primary form-control']) !!} {!! Form::close() !!} @if($errors->any()) //增加这里,$errors变量是laravel提供的,就是捕获这些出错而保存的变量,是一个数组
- @foreach($errors->all() as $error) //所以需要循环变量数组,获取最终报错信息
- {{$error}} @endforeach
需要注意的是,在laravel 5.2里面,$errors变量需要在中间件web里面才会存在,如果不是的话,laravel会报错,Undefined variable: errors。
正常情况下,触发验证规则的报错弹出提示会在网页中显示,例如
The title field is required.The content field is required.
重写报错提示信息,例如改成中文提示,需要在request文件里面重写messages方法,文件内默认没有,所以我们需要添加
app/Http/Requests/ArticlesRequest.php public function messages() { return [ 'title.required' => '这个标题是必须的!', //例如这样就会匹配标题required的规则,然后触发你的提示 'body.required' => '这个身体是必须的!', ]; }
上一篇: 请老师指导一上。怎么把这个输出变成字符串
下一篇: 浅谈Html网页表格结构化标记的应用
推荐阅读
-
UEditor表单POST提交后无参数,代码检查N次了,大伙帮忙看下!
-
开源版 nignx 不支持 ntml 验证
-
Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade
-
ajax的配置详情、ajax的调用解释、ajax的中文乱码和ajax的表单提交(内有实例)
-
我的这个javascript验证怎么样和表单结合到一块呢
-
veridata实验举例(2)验证表BONUS与表SALGRADE两节点同步情况
-
PHP提交表单失败后如何保留已经填写的信息_PHP教程
-
在ASP应用中验证用户身份(4)
-
在ASP应用中验证用户身份(3)
-
Ajax操作表单异步上传文件