当前位置:编程学习 > > 正文

laravel常用的辅助函数介绍(Laravel框架表单验证操作实例分析)

时间:2021-10-15 00:45:33类别:编程学习

laravel常用的辅助函数介绍

Laravel框架表单验证操作实例分析

本文实例讲述了Laravel框架表单验证操作。分享给大家供大家参考,具体如下:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 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中

    设置允许批量赋值:

  • ?
  • 1
  • protected $fillable = ['name','age'];
  • web中间件有个作用是防止xss攻击,即csrf,需要在页面的表单中增加{{ csrf_field() }},
    会生成一个隐藏的input表单,带个token字段。

    错误信息的显示:

    控制器中的with方法,可以把信息放入session中

  • ?
  • 1
  • return redirect('Student/index')->with('success','添加成功');
  • 页面中的显示:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • @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()}}可以显示第一条错误信息

    数据保持:

  • ?
  • 1
  • return redirect()->back()->withErrors($validator)->withInput();
  • 这段代码中的withInput可以把表单提交的信息带回去,

    页面中使用old方法:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 姓名 :<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

    上一篇下一篇

    猜您喜欢

    热门推荐