Файловый менеджер - Редактировать - /home/clickysoft/public_html/jmapi5.clickysoft.net/app/Http/Requests/Admin/StorePurchaseOrderRequest.php
Назад
<?php namespace App\Http\Requests\Admin; use App\Models\Product; use App\Models\PurchaseOrder; use Illuminate\Support\Facades\Gate; use Illuminate\Foundation\Http\FormRequest; class StorePurchaseOrderRequest extends FormRequest { public function authorize() { return Gate::allows('purchase_order_create'); } public function rules() { $rules = [ 'payment_terms' => [ 'required', 'in:'.implode(',', PurchaseOrder::PAYMENT_TERMS) ], 'reference' => [ 'nullable', ], 'shipping_address' => [ 'required', ], 'billing_address' => [ 'required', ], 'shipping_speed' => [ 'required', 'in:'. implode(',',PurchaseOrder::SHIPPING_SPEED), ], 'special_notes' => [ 'nullable', ], 'products' => [ 'required_without:office_supplies', 'array', ], 'products.*.product_id' => [ 'required', 'integer', // 'exists:products,id', ], 'products.*.price_id' => [ 'required', 'integer', // 'exists:product_prices,id' ], 'products.*.variation_id' => [ 'nullable', ], 'products.*.product_type' => [ 'required', 'in:'. implode(',', array_keys(Product::PRODUCT_TYPE)), ], 'products.*.orders' => [ 'required', 'array', ], 'products.*.orders.*' => [ function ($attribute, $value, $fail) { if (is_array($value)) { if (array_key_exists('extra_quantity', $value)) { if ($value['extra_quantity'] < 1) $fail('The extra_quantity should be greater than zero.'); } else if (array_key_exists('order_id', $value) && array_key_exists('quantity', $value)) { if ($value['quantity'] < 1) $fail('The quantity should be greater than zero.'); } else { $fail('The extra_quantity or order_id and quantity is required for product :position.'); } } else { $fail('The extra_quantity or order_id and quantity is required for product :position.'); } }, ], 'office_supplies' => [ 'required_without:products', 'array', ], 'office_supplies.*.product_id' => [ 'nullable', 'integer', 'exists:office_supplies,id', ], 'office_supplies.*.vendor_id' => [ 'nullable', 'integer', 'exists:vendors,id', ], 'office_supplies.*.quantity' => [ 'nullable', 'integer', 'min:1' ], ]; return $rules; } public function messages() { return [ 'products.*.product_id.required' => 'Product id for product #:position is required.', 'products.*.product_id.integer' => 'Product id for product #:position must be an integer.', 'products.*.product_id.exists' => 'Product id for product #:position is invalid.', 'products.*.price_id.required' => 'Price id for product #:position is required.', 'products.*.price_id.integer' => 'Price id for product #:position must be an integer.', 'products.*.price_id.exists' => 'Price id for product #:position is invalid.', ]; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка