laravel常用的辅助函数介绍(Laravel框架表单验证操作实例分析)
类别:编程学习 浏览量:1480
时间:2021-10-15 00:45:33 laravel常用的辅助函数介绍
Laravel框架表单验证操作实例分析本文实例讲述了Laravel框架表单验证操作。分享给大家供大家参考,具体如下:
|
public function create(Request $request ){ if ( $request ->isMethod( 'POST' )){ //验证通过后继续进行 //方法1 控制器验证 $this ->validate( $request ,[ 'Student.name' => 'required|min:2|max:20' , 'Student.age' => 'required|integer' , 'Student.sex' => 'required|integer' , ],[ 'required' => ':attribute 为必填项' , 'min' => ':attribute 长度不符合要求' , 'integer' => ':attribute 必须是一个整形' , ],[ 'Student.name' => '姓名' , 'Student.age' => '年龄' , 'Student.sex' => '性别' , ]); //方法2 Validator类验证 $validator = \Validator::make( $request ->input(),[ 'Student.name' => 'required|min:2|max:20' , 'Student.age' => 'required|integer' , 'Student.sex' => 'required|integer' , ],[ 'required' => ':attribute 为必填项' , 'min' => ':attribute 长度不符合要求' , 'integer' => ':attribute 必须是一个整形' , ],[ 'Student.name' => '姓名' , 'Student.age' => '年龄' , 'Student.sex' => '性别' , ]); if ( $validator ->fails()){ return redirect()->back()->withErrors( $validator )->withInput(); } //如果验证通过,则继续执行下面的代码 $data = $request ->input( 'Student' ); if (Student::create( $data )){ return redirect( 'student/index' )->with( 'success' , '添加成功' ); } else { return redirect()->back(); } } return view( 'student.create' ); } |
注意Laravel的create方法,需要在model中
设置允许批量赋值:
|
protected $fillable = [ 'name' , 'age' ]; |
web中间件有个作用是防止xss攻击,即csrf,需要在页面的表单中增加{{ csrf_field() }},
会生成一个隐藏的input表单,带个token字段。
错误信息的显示:
控制器中的with方法,可以把信息放入session中
|
return redirect( 'Student/index' )->with( 'success' , '添加成功' ); |
页面中的显示:
|
@ if (Session::has( 'success' )) <li> {{ Session::get( 'success' ) }} </li> @ endif @ if ( count ( $errors )) <li class = "alert alert-danger" > <ul> @ foreach ( $errors ->all() as $val ) <li>{{ $val }}</li> @ endforeach </ul> </li> @ endif |
{{$errors->first()}}
可以显示第一条错误信息
数据保持:
|
return redirect()->back()->withErrors( $validator )->withInput(); |
这段代码中的withInput可以把表单提交的信息带回去,
页面中使用old方法:
|
姓名 :<input type= "text" name= "Student[name]" value= "{{ old('Student')['name'] }}" /> 性别 : @ foreach ( $student ->user_sex() as $ind => $val ) <input type= "radio" name= "Student[sex]" value= "{{$ind}}" {{ old( 'Student' )[ 'sex' ]== $ind ? 'checked' : '' }} />{{ $val }} @ endforeach |
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/gyfluck/p/9042005.html
您可能感兴趣
- laravel测试重连数据库(解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题)
- laravel怎样封装增删改查(laravel框架上传图片实现实时预览功能)
- laravel分页(laravel5.5添加echarts实现画图功能的方法)
- laravel5.5以下自定义日志(Laravel timestamps 设置为unix时间戳的方法)
- laravel框架怎么获取变量(解决laravel id非自增 模型取回为0 的问题)
- laravel服务器设置(基于Laravel-admin 后台的自定义页面用法详解)
- laravel增删改查接口(laravel-admin 实现给grid的列添加行数序号的方法)
- laraveljob怎么运行脚本(Laravel-admin之修改操作日志的方法)
- laravel测试重连数据库(Laravel关系模型指定条件查询方法)
- laravel查询条件数组写法(解决Laravel 使用insert插入数据,字段created_at为0000的问题)
- phplaravel怎么优化(laravel执行php artisan migrate报错的解决方法)
- laravel多线程处理请求(Laravel 6 将新增为指定队列任务设置中间件的功能)
- laravel8 前后端分离方案(laravel 根据不同组织加载不同视图的实现)
- laravel认证系统(Laravel框架Auth用户认证操作实例分析)
- laravel框架注意事项(Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决)
- laravel队列是如何触发的(laravel使用Faker数据填充的实现方法)
- 通过体温就能为智能手表充电 原来是用NASA在空间站用的黑科技(通过体温就能为智能手表充电)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
热门推荐
- css3样式设计图片(CSS3 制作的彩虹按钮样式)
- python3和python2 兼容(Python2和Python3的共存和切换使用)
- mysql的使用步骤(MySQL infobright的安装步骤)
- canvas 缩放后字发虚(canvas 绘图时位置偏离的问题解决)
- amazeui怎么设置侧边栏(AmazeUI 等分网格的实现示例)
- mysql把重复数据删掉(mysql查找删除重复数据并只保留一条实例详解)
- harbor 1.8安装部署(docker5 全功能harbor仓库搭建过程)
- 云服务器和VPS有什么区别?(云服务器和VPS有什么区别?)
- python使用什么函数定义匿名函数(Python匿名函数及应用示例)
- nginx反向代理端口号(nginx 代理80端口转443端口的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9