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'], 'monthly_amount' => ['required', 'numeric', 'gt:0'], 'start_date' => ['required', 'date'], 'end_date' => ['nullable', 'date', 'after_or_equal:start_date'], 'status' => ['required', Rule::enum(SalaryContributionStatus::class)], ]; } public function messages(): array { return [ 'user_id.required' => 'Ahli diperlukan.', 'investment_type_id.required' => 'Jenis pelaburan diperlukan.', 'monthly_amount.required' => 'Jumlah bulanan diperlukan.', 'monthly_amount.gt' => 'Jumlah bulanan mestilah lebih daripada 0.', 'start_date.required' => 'Tarikh mula diperlukan.', 'status.required' => 'Status caruman diperlukan.', ]; } }