Edit File: StoreProductClassificationRequest.php
<?php namespace App\Http\Requests\Api\Provider\Product\ProductClassification; use App\Http\Requests\Api\BaseApiRequest; use Illuminate\Support\Arr; class StoreProductClassificationRequest extends BaseApiRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array<string, mixed> */ public function rules() { return [ 'name' => 'required|array|size:' . count(config('translatable.locales')), 'name.*' => 'string|max:255', 'provider_id' => 'required|exists:providers,id', 'product_id' => ['required', 'exists:products,id', function ($attribute, $value, $fail) { $product = \App\Models\Product::where('id', $value)->where('provider_id', $this->provider_id)->first(); if (!$product) { $fail(__('apis.product_not_belongs_to_this_provider')); } if ($product && !$product->has_price) { $fail(__('apis.non_priced_product_can_not_be_classified')); } }], 'is_required' => 'required|boolean', 'addons' => 'required|array', 'addons.*' => 'required|numeric|exists:product_addons,id', 'number_of_choices' => ['required', 'numeric', function ($attribute, $value, $fail) { if ($value > count(Arr::wrap(request()->input('addons')))) { $fail(__('apis.invalid_number_of_choices')); } }], ]; } public function prepareForValidation() { $this->merge([ 'provider_id' => auth('provider')->id() ]); } public function attributes() { return [ 'is_required' => __('apis.is_required'), ]; } }
Back to File Manager