zoukankan      html  css  js  c++  java
  • laravel 验证类使用validate &validator 简单实例

    1、在路由web.php上增加

    Route::get('test/validator', 'PHPTestController@getValidator');
    Route::post('test/validator', 'PHPTestController@postValidator');
    

    2、增加视图view :validator.php

    <body>
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                @if(count($errors) > 0)
                    <div class="alert alert-danger">
                        <ul>
                            @foreach($errors->all() as $error)
                                <li>{{$error}}</li>
                            @endforeach
                        </ul>
                    </div>
                @endif
                <form action="{{url('test/validator')}}" method="POST">
                    <input type="hidden" name="_token" value="{{csrf_token()}}">
                    <legend style="text-align: center">表单提交</legend>
                    <legend style="text-align: center">Person</legend>
                    <label style="margin-left: 50%">Name</label>
                    <input type="text" name="name">
                    <label style="margin-left: 50%">Age</label>
                    <input type="text" name="age">
                    <button type="submit" class="btn btn-success">Submit</button>
                </form>
            </div>
        </div>
    </div>
    
    <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
    <script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    

    3、在控制器上使用validate

    class PHPTestController extends Controller
    {
    
        public function getValidator(){
    
            return view('validator.validator');
        }
    
        public function postValidator(Request $request){
            $rules = [
                'name'=>'required|max:5',
                'age'=>'min:5|max:20'
            ];
            $message = [
                'name.max'=>'最多5个字符',
                'age.min'=>'最小5岁'
            ];
           $validator = $this->validate($request,$rules,$message);//验证不通则终止后面的代码,输出验收信息
    
            dd('form post success!!!');//如果前面验证通过则输出这行
        }
    }
    

      如果是ajax请求则使用 validator类

        public function postValidator(Request $request){
            $rules = [
                'name'=>'required|max:5',
                'age'=>'min:5|max:20'
            ];
            $message = [
                'name.max'=>'最多5个字符',
                'age.min'=>'最小5岁'
            ];
    
           $validator = Validator::make($request->all(),$rules,$message);
           print_r($validator->errors()->all());exit;
            dd('form post success!!!');
        }
    

      

  • 相关阅读:
    【转载】STL之priority_queue
    数据结构作业——直通车(并查集)
    Codeforces Round #342 (Div. 2) D. Finals in arithmetic(想法题/构造题)
    Size Balance Tree(SBT模板整理)
    平衡二叉查找树(AVL)的理解与实现
    查找树ADT——二叉搜索树
    (转载)通过金矿模型介绍动态规划
    动态规划(DP)基础
    hdu 1969 Pie(二分查找)
    poj 3104 Drying(二分查找)
  • 原文地址:https://www.cnblogs.com/jinshao/p/15252664.html
Copyright © 2011-2022 走看看