從thinkphp轉(zhuǎn)入laravel 開闊了很多的思路,不得不說laravel真是一款很好的產(chǎn)品,尤其是在php項目代碼標準和規(guī)范方面.但是thinkphp也有一些很好的地方,例如驗證場景,有時候業(yè)務不同驗證的字段有部分差別,例如,用戶注冊時密碼字段是必須填寫,但是在用戶資料修改時密碼是可選的.重定義一個驗證器有些浪費, 用場景就可以很好的解決這些問題.在laravel中 做驗證我一般是這樣的1.生成表單請求類php artisan make:request StoreBlogPost2.StoreBlogPost.php 編寫驗證規(guī)則` public function rules(){ return [ 'name'=>'required', 'email'=>'required|unique:users', 'password'=>'required|confirmed'
];
}public function message(){
.....
}`3.控制器中驗證 public function store(StoreBlogPost $request)
{
$user=User::create([ 'name'=>$request->input('name'), 'email'=>$request->input('email'), 'password'=>bcrypt($request->password)
]);
....
}如何在驗證器中加入驗證場景,有成熟的擴展包也行.請各位大神提供一下建議,謝謝
2 回答

慕慕森
TA貢獻1856條經(jīng)驗 獲得超17個贊
不是很清楚你為什么覺得定義多個表單請求類覺得有些浪費(關(guān)于TP場景這樣的擴展包也沒有聽說過)
我認為你完全可以創(chuàng)建多個FormRequest類,不必讓一個表單請求類承擔多個請求的驗證職責,這樣從可讀性上看起來也清晰一點

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
例如:Http\Requests\Article\StoreArticleRequest.php
-- 創(chuàng)建文章的表單請求類Http\Requests\Article\UpdateArticleRequest.php
-- 更新文章內(nèi)容Http\Requests\User\UpdateUserInfoRequest.php
-- 更新用戶信息
- 2 回答
- 0 關(guān)注
- 1893 瀏覽
添加回答
舉報
0/150
提交
取消