isMethod('POST'); $isUpdate = $this->isMethod('PUT') || $this->isMethod('PATCH'); if (! $isCreate && ! $isUpdate) { return []; } return [ 'user_id' => [$isCreate ? 'required' : 'sometimes', 'uuid', 'exists:users,id'], 'investment_type_id' => [$isCreate ? 'required' : 'sometimes', 'uuid', 'exists:investment_types,id'], 'max_investment_amount' => ['nullable', 'numeric', 'min:0'], 'max_transaction_amount' => ['nullable', 'numeric', 'min:0'], 'effective_date' => ['required', 'date'], 'expiry_date' => ['nullable', 'date', 'after_or_equal:effective_date'], ]; } public function messages(): array { return [ 'user_id.required' => 'Ahli diperlukan.', 'investment_type_id.required' => 'Jenis pelaburan diperlukan.', 'effective_date.required' => 'Tarikh berkuat kuasa diperlukan.', 'expiry_date.after_or_equal' => 'Tarikh tamat mestilah pada atau selepas tarikh berkuat kuasa.', ]; } }