本节内容比较简单,以前咱们使用 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