1.這里只是演示一下基本的驗證規則
blade用戶登陸模板index.blade.php

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>個人測試網頁</title> </head> <body> @if(count($errors)>0) <div class="alert-danger"> <ul> @foreach($errors->all() as $error) <li>{{$error}}</li> @endforeach </ul> </div> @endif <form action="{{url('validate')}}" method="post"> {{csrf_field()}} USERNAME:<input type="text" name="username" ><br> PASSWORD:<input type="password" name="password"><br> <input type="submit" value="提交"> </form> </body> </html>
2.路由

<?php use Illuminate\Support\Facades\Routete; Route::get('index',function (){ return view('index'); }); Route::post('validate','ValidateController@index');
3.控制器中代碼(標記的地方也是可以使用的)
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ValidateController extends Controller { // public static $requet; public function __construct(Request $request) { self::$requet=$request; } public function index(){ $rules=['username'=>'required','password'=>'required'];//驗證信息 $message=['username.required'=>'姓名不能為空','password.required'=>'密碼不能為空'];//自定義驗證中文信息 // $data=$this->validate(self::$requet,$rules,$message); $data= \Validator::make(self::$requet->except('_token'),$rules,$message); if ($data->fails()){ return redirect('index')->withErrors($data)->withInput();//傳統提交表單 頁面會刷新,輸入框里的內容會丟失掉。//跟old使用 } } }
4.最終視圖