#資料驗證Validation介紹跟設定

1.這邊使用CartItemsController,引入套件Validator

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/56bebec7-90ba-4abc-b7a2-79179e4b6a1c/1627969657898.jpg

2.然後先設定傳入的資料make($request->all(),接著設定傳入的規則,這邊card_id,product_id,quantity都是必填,所以設定required,並設定一個變數儲存

文件引用方式可以看laravel官網文件 validator

public function store(Request $request)
    {
        Validator::make($request->all());//設定傳入之資料
        $form = $request->all();
        DB::table('cart_items')->insert(['cart_id' => $form['cart_id'], 
                                    'product_id' =>  $form['product_id'],                                 
                                    'quantity' => $form['quantity'],
                                    'created_at' => now(), 
                                    'updated_at' => now()]);
        return response()->json(true);
    }

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/801ce5b4-318a-4acf-9a3b-1e188235d65c/1627971270542.jpg

3.設定如回傳資料不正確,則記錄回傳資料並秀400

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/18bbdaf3-ac90-4294-afb3-702261da41fc/1627971590889.jpg

4.路由設定官方建議命名方式非底線所以改成官方建議命名方式

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/aabf0738-8557-435a-83f1-dcd6d30823a1/1627971644859.jpg

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cb401817-2951-41fd-9381-8585bc3b95be/1627971665208.jpg

5.設定完成後我們來到POSTMAN執行,首先因為我們路由修改命名方式,故要記得改成-這個

接著我們不輸入card_id看看系統會回傳什麼

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e7fc6477-3518-49d9-9496-01f721c94fe2/1627971848706.jpg

6.也可以設定為整數

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/af96e6ce-747e-4f95-b9b6-a4d0ff2bbd1d/1627972971543.jpg

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b1b692b2-2f18-4e68-baef-9fb9cab2d8c0/1627973015376.jpg

7.設定最小最大值

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f10369bb-1cbb-4595-9447-0316883e1858/1627973752789.jpg