zoukankan      html  css  js  c++  java
  • Laravel 控制器表单验证与Validator类验证

    1 控制器表单验证

    1.1 控制器

        public function create(Request $request)
        {
            if ($request->isMethod('POST')){
                //web中间件会自动捕获 保存到session中,并显示到view
                $this->validate($request,[
                    'Student.name'=>'required|min:2|max:20',
                    'Student.age'=>'required|integer',
                    'Student.sex'=>'required|integer',
                ],[
                    'required'=>':attribute 为必填项',
                    'min'=>':attribute 长度太短了',
                    'max'=>':attribute 长度太长了',
                    'integer'=>':attribute 必须为整数',
                ],[
                    'Student.name'=>'姓名',
                    'Student.age'=>'年龄',
                    'Student.sex'=>'性别',
    
                ]);
                $data = $request->input('Student');
                if (Student::create($data)){
                    return redirect('student/index')->with('success','添加成功');
                }
            }
            return view('student.create');
        }

    1.2 要使用到web中间件

    Route::group(['middleware'=>['web']],function (){
        Route::any('student/create',['uses'=>'StudentController@create']);
    });

     1.3 view

      @include("common.validator")

    esourcesviewscommonvalidator.blade.php

    @if(count($errors))
        <div class="alert alert-danger">
            <ul>
                    <li>{{$errors->first()}}</li>
            </ul>
        </div>
    
        <div class="alert alert-danger">
            <ul>
                @foreach($errors->all() as $error)
                    <li>{{$error}}</li>
                @endforeach
            </ul>
        </div>
    @endif()

     

    2 Validator类验证(推荐

    2.1 控制器

    //2 Validator类验证
                $validdator = Validator::make($request->input(),[
                    'Student.name'=>'required|min:2|max:20',
                    'Student.age'=>'required|integer',
                    'Student.sex'=>'required|integer',
                ],[
                    'required'=>':attribute 为必填项',
                    'min'=>':attribute 输入长度太短了',
                    'max'=>':attribute 输入长度太长了',
                    'integer'=>':attribute 必须为整数',
                ],[
                    'Student.name'=>'姓名',
                    'Student.age'=>'年龄',
                    'Student.sex'=>'性别',
    
                ]);
                if ($validdator->fails()){
                    return redirect()
                        ->back()
                        ->withErrors($validdator)
                        ->withInput();//数据保持
                }

    2.2 模板

                    <div class="form-group">
                        <label for="name" class="col-sm-2 control-label">姓名</label>
    
                        <div class="col-sm-5">
                            <input type="text" name="Student[name]" class="form-control" id="name"
                                   value="{{old('Student')['name']}}"
                                   placeholder="请输入学生姓名">
                        </div>
                        <div class="col-sm-5">
                            <p class="form-control-static text-danger">{{$errors->first('Student.name')}}</p>
                        </div>
                    </div>

    2.3 展示

  • 相关阅读:
    登录验证并记录日志
    Java基础——单列
    web下载文件和跳转
    关于乱码问题的解决与HttpServletResponse中的方法
    request和response中的方法使用
    JavaEE——Servlet的Web访问名称
    JavaEE——HttpServletRequest对象
    三元表达式执行顺序 逻辑运算符的运用
    《Java多线程编程实战指南+设计模式篇》笔记
    java -jar jar包,运行报错没有主清单和无法加载主类
  • 原文地址:https://www.cnblogs.com/polax/p/13346459.html
Copyright © 2011-2022 走看看