Laravel框架表单验证操作实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-25 16:00:34 浏览: 评论:0
这篇文章主要介绍了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'))
- <div>
- {{ Session::get('success') }}
- </div>
- @endif
- @if(count($errors))
- <div class="alert alert-danger">
- <ul>
- @foreach($errors->all() as $val)
- <li>{{$val}}</li>
- @endforeach
- </ul>
- </div>
- @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
Tags: Laravel表单验证
相关文章
- ·laravel5.2表单验证,并显示错误信息的实例(2021-12-24)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)