namespace App\Http\Requests\Order; use Illuminate\Foundation\Http\FormRequest; class CreateOrderRequest extends FormRequest { public function authorize() { return auth()->check(); } public function rules() { return [ 'service_id' => ['required', 'exists:services,id'], 'link' => ['required', 'string', 'url', 'max:1000'], 'quantity' => ['required', 'integer', 'min:1'], 'custom_fields' => ['nullable', 'array'], ]; } public function messages() { return [ 'service_id.required' => 'Please select a service.', 'link.required' => 'Please enter the link.', 'link.url' => 'Please enter a valid URL.', 'quantity.required' => 'Please enter quantity.', 'quantity.integer' => 'Quantity must be a number.', 'quantity.min' => 'Quantity must be at least 1.', ]; } protected function prepareForValidation() { $this->merge([ 'quantity' => (int) $this->quantity, ]); } }