本节内容比较简单。之前我们使用validator方法进行字段校验。这样做的一个缺点是,如果要在很多地方使用相同的Validation,就需要重复写代码。因此,Laravel提供了另一种方式来进行字段校验,即“请求类”。首先创建一个请求类:$phpartisanmake:requestRegistrationForm将注册相关信息传递给这个类:/app/Http/Requests/RegistrationForm.phpuseApp\Mail\Welcome;useApp\User;classRegistrationFormextendsFormRequest{publicfunctionauthorize(){返回真;}publicfunctionrules(){return['name'=>'required','email'=>'required|email|unique:users','password'=>'required|confirmed',];}publicfunctionpersist(){$user=User::create($this->only(['name','password','email']));auth()->login($user);\Mail::to($user)->send(newWelcome($user));}}注意:任何人都有权提出请求(即注册),所以authorize()应该返回true;rule()定义了注册表单中的验证规则。我们还将注册表中创建用户和发送邮件的功能封装到请求类中。controller的代码可以简化为:useApp\Http\Requests\RegistrationForm;publicfunctionstore(RegistrationForm$request){$request->persist();returnredirect()->home();}如果我们想在其他地方使用这个请求,直接传入RegistrationForm即可现在,是不是方便多了:)
