route('application'); $requiresMenuGroup = $this->input('decision') === 'approved' && in_array($application?->application_type, ['tenant', 'staff'], true); return [ 'decision' => ['required', Rule::in(['approved', 'rejected'])], 'review_notes' => ['nullable', 'string', 'max:2000'], 'menu_group_id' => [ Rule::requiredIf($requiresMenuGroup), 'nullable', 'integer', Rule::exists('menu_groups', 'id')->where('is_active', true), ], 'payment_type' => ['nullable', Rule::in(['prepaid', 'postpaid'])], 'price_mode' => ['nullable', Rule::in(['discount', 'commission'])], 'discount_percent' => ['nullable', 'numeric', 'min:0', 'max:100'], 'commission_percent' => ['nullable', 'numeric', 'min:0', 'max:100'], 'credit_limit' => ['nullable', 'numeric', 'min:0'], ]; } }