下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

收藏

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

加入购物车

下单全过程3

下单全过程3

下单全过程3

<?php

namespace App\Http\Requests\Api\V1;

use App\Models\ProductSku;

class CartItemRequest extends FormRequest
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'sku_id' => [
                'required',//必须要有skuid
                function ($attribute,$value,$fail){
                    if (!$sku = ProductSku::find($value)){
                        return response()->json([
                            'code' => 422,
                            'error' => '该商品不存在'
                        ]);
                    }
                    if (!$sku->product->on_sale){
                        return response()->json([
                            'code' => 422,
                            'error' => '该商品未上架'
                        ]);
                    }

                    if ($sku->stock === 0){
                        return response()->json([
                            'code' => 422,
                            'error' => '该商品已售完'
                        ]);
                    }

                    if ($this->input('amount') > 0 && $sku->stock < $this->input('amount')){
                        return response()->json([
                            'code' => 422,
                            'error' => '该商品库存不足'
                        ]);
                    }
                }
            ],
            'amount' => ['required','integer','min:1']
        ];
    }

    public function attributes()
    {
        return [
            'amount' => '商品数量'
        ];
    }

    public function messages()
    {
        return [
            'sku_id.required' => '请选择商品'
        ];
    }
}

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

下单全过程3

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!