我的Laravel学习之路之表单验证 validation
来源:互联网 发布:gmp软件 编辑:程序博客网 时间:2024/05/15 11:20
上一节我们写了表单提交,但是表单内容都为空时,依然可以提交,所以我们要使用表单验证
更多参考手册:https://docs.golaravel.com/docs/5.0/validation/#rule-min
第一种方法:
关于表单验证,第一个是使用php artisan make:request CreateArticleRequest 可以创建一个验证类
此类会自动生成在http目录下面的requests目录下面生成,填写规则完毕,方法参数里引入替换request
同时在表单提交视图里,填写报错输出代码,直接上代码吧
@extends('app')@section('content')<div class="container"><h3>撰写新文章</h3>{!! Form::open(['url'=>'/articles']) !!}<div class="form-roups">{!! Form::label('name') !!}{!! Form::text('name',null,['class'=>'form-control']) !!}</div><div class="form-groups">{!! Form::label('content') !!}{!! Form::textarea('content',null,['class'=>'form-control']) !!}</div><div class="form-groups">{!! Form::label('published_at') !!}{!! Form::input('date','published_at',date('Y-m-d'),['class'=>'form-control']) !!}</div>{!! Form::submit('提交',['class'=>'btn btn-primary form-control']) !!}{!! Form::close() !!}@if($errors->any())<ul class="list-group">@foreach($errors->all() as $error)<li class="list-group-item list-group-item-danger">{{ $error }}</li>@endforeach</ul>@endif</div>@stop
红色部分为输出报错代码这个是使用artisan生成的规则类,代码已写好
<?phpnamespace App\Http\Requests;use App\Http\Requests\Request;class CreateArticleRequest extends Request{ /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { //此处简单的意思就是A发布的文章不能由B来编辑,不过并没有用户系统,用不到,所以就改为true return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { //验证规则,要和表单提交的字段名一致 required代表必填 min:3 代表至少三个字符 return [ 'name' => 'required|min:3', 'content' => 'required', 'published_at' => 'required', ]; }}下面贴出控制器代码第一种
public function store(Requests\CreateArticleRequest $request) {
//就是将方法里的参数request改为规则类Requests\CreateArticleRequest Samples::create($request->all()); // 第三部:重定向 return redirect('/articles'); }下面贴出第二种方法,使用这个你必须先引入 use Validator;红色部分为代码,这个可以自定义错误信息
public function store(request $request) { //知识点,如果我们要获得传递过来的其中指定值,可以使用下面两种方法 //$request['name']; 或者 $request->get('name'); //打印所有传递过来的值 // dd($request->all()); //第一步:接受post传递过来的数据 //$input = $request->all(); //提示,如果需要存入当前时间字段,可使用Carbon::now(); 但是顶部要引入 use Carbon\Carbon; //比如文章发表时间可添加 $input['published_at'] = Carbon::now(); // 第二部:存入数据库 // laravel会帮我们自动过滤掉token //关于表单验证,第一个是使用php artisan make:request CreateArticleRequest 可以创建一个验证类 //此类会自动生成在http目录下面的requests目录下面生成,填写规则完毕,方法参数里引入替换request // 第二种方法是使用validate //比如可以写成 //$this->validate($request,['name' => 'required|min:3','content' => 'required','published_at' => 'required']); // 也可以写成这样 $input = $request->all(); $rule = [ 'name' => 'required|min:4', 'content' => 'required', 'published_at' => 'required', ]; $message = [ 'required' => ':attribute 不允许为空.', 'min' => ':attribute不能少于:min位.', ]; $validate = Validator::make($input, $rule, $message); if (!$validate->passes()) { return back()->withErrors($validate); } Samples::create($request->all()); // 第三部:重定向 return redirect('/articles'); }
阅读全文
0 0
- 我的Laravel学习之路之表单验证 validation
- jQuery学习之:Validation表单验证插件
- jQuery学习之:Validation表单验证插件
- jQuery学习之:Validation表单验证插件
- 主题:jQuery学习之:Validation表单验证插件
- 我的Laravel学习之路之模板继承
- 我的Laravel学习之路之环境配置
- 我的Laravel学习之路之Eloquent 入门
- 我的Laravel学习之路之我的Laravel学习之路之用户注册和登录 Auth
- 我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
- 我的Laravel学习之路之Laravel Forms 使用,illuminate/html包
- Laravel 5.1学习之 验证
- 我的Web学习之路2——密码框的提示与表单验证
- Laravel的表单验证
- 1.jQuery插件Validation(表单验证)之基础入门
- Android框架之Android Validation表单验证框架
- Android框架之Android Validation表单验证框架
- Android之表单验证,Validation三方集成。
- Percona Server5.7.17二进制安装_for redhat 6.1
- 机器学习必备手册
- java.util.concurrent 之 队列同步器AQS
- 设计模式---抽象工厂模式
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- 我的Laravel学习之路之表单验证 validation
- 【目标检测】RCNN算法详解
- 第一次写博客,随便聊聊写几句吧
- C#函数
- 蓝牙L2CAP剖析(二)
- 将CPP文件移植成C文件方法和注意的问题
- substring内存泄露原因及解决
- 练习go基础语法
- HMM之维特比算法