• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel框架表单验证操作实例分析
    POST TIME:2021-10-18 04:12

    本文实例讲述了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
    
    

    更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • Laravel框架FormRequest中重写错误处理的方法
    • Laravel中使用FormRequest进行表单验证方法及问题汇总
    • Laravel框架表单验证详解
    • Laravel 5框架学习之表单验证
    • Laravel 4 初级教程之Pages、表单验证
    • laravel5.2表单验证,并显示错误信息的实例
    • Laravel框架表单验证格式化输出的方法
    • Laravel5.1 框架表单验证操作实例详解
    • laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
    上一篇:Laravel 自带的Auth验证登录方法
    下一篇:laravel实现Auth认证,登录、注册后的页面回跳方法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信