本節內容比較簡單,以前咱們使用 validator
方法來進行字段驗證,這樣作有一個很差的地方就是,若是你要在不少地方使用一樣的驗證,就須要重複編寫代碼。所以,Laravel 提供另一種方式來進行字段驗證,即「請求類」。php
首先,建立請求類:app
$ php artisan make:request RegistrationForm
將註冊相關信息轉移到該類中:ui
/app/Http/Requests/RegistrationForm.php use App\Mail\Welcome; use App\User; class RegistrationForm extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed', ]; } public function persist() { $user = User::create( $this->only(['name','password','email']) ); auth()->login($user); \Mail::to($user)->send(new Welcome($user)); } }
註解:this
任何人都有權利作出該請求(即註冊),因此 authorize()
應該返回 true
;code
rule()
裏面定義驗證規則orm
咱們將註冊表的建立用戶以及發送郵件功能也封裝到了請求類中io
控制器的代碼能夠簡化成:function
use App\Http\Requests\RegistrationForm; public function store(RegistrationForm $request) { $request->persist(); return redirect()->home(); }
若是咱們在其餘地方也要使用該請求,直接傳入 RegistrationForm
就能夠了,是否是方便多了 :)class