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!!!');
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM