| 1234567891011121314151617181920212223242526272829303132333435 |
- <?php
- namespace App\Http\Requests;
- use App\Enums\StoreItemStatusEnum;
- use Illuminate\Foundation\Http\FormRequest;
- use Illuminate\Validation\Rule;
- class StoreItemRequest extends FormRequest
- {
- public function rules(): array
- {
- $rules = [
- 'name' => 'sometimes|string|max:255',
- 'description' => 'sometimes|nullable|string',
- 'category_id' => 'sometimes|nullable|integer|exists:categories,id',
- 'price' => 'sometimes|nullable|numeric|min:0',
- 'associate_price' => 'sometimes|nullable|numeric|min:0',
- 'supplier_price' => 'sometimes|nullable|numeric|min:0',
- 'status' => ['sometimes', Rule::enum(StoreItemStatusEnum::class)],
- 'variations' => 'sometimes|array',
- 'variations.*.variation_type' => 'required_with:variations|string|in:tamanho,cor,modelo',
- 'variations.*.variation_label' => 'required_with:variations|string|max:100',
- 'variations.*.variation_value' => 'nullable|numeric|min:0',
- 'variations.*.stock' => 'nullable|integer|min:0',
- ];
- if ($this->isMethod('post')) {
- $rules['name'] = 'required|string|max:255';
- }
- return $rules;
- }
- }
|