isMethod('POST'); return [ 'account_id' => [$isCreate ? 'required' : 'sometimes', 'integer', 'exists:treasury_accounts,id'], 'transaction_type' => [$isCreate ? 'required' : 'sometimes', 'string', Rule::in(['entrada', 'saida'])], 'description' => [$isCreate ? 'required' : 'sometimes', 'string', 'max:1000'], 'amount' => [$isCreate ? 'required' : 'sometimes', 'numeric', 'gt:0'], 'launch_date' => ['sometimes', 'date'], 'financial_plan_account_id' => ['nullable', 'integer', 'exists:financial_plan_accounts,id'], ]; } }