['required', 'date'], 'settlement_date' => ['nullable', 'date'], 'transaction_type' => ['required', 'string', 'in:purchase,advance,suspense,rent,salary,insurance,tax,utilities,other'], 'amount' => ['required', 'numeric', 'min:0'], 'client_id' => ['nullable', 'integer', 'exists:clients,id'], 'client_name' => ['nullable', 'string', 'max:100'], 'bank_account_id' => ['nullable', 'integer', 'exists:bank_accounts,id'], 'account_code' => ['nullable', 'string', 'max:50'], 'payment_status' => ['nullable', 'string', 'in:pending,partial,paid,overdue'], 'approval_status' => ['nullable', 'string', 'in:none,pending,approved,rejected'], 'description' => ['nullable', 'string', 'max:1000'], ]; } public function messages(): array { return [ 'expected_payment_date.required' => __('validation.required', ['attribute' => '예상 지급일']), 'transaction_type.required' => __('validation.required', ['attribute' => '거래유형']), 'transaction_type.in' => __('validation.in', ['attribute' => '거래유형']), 'amount.required' => __('validation.required', ['attribute' => '금액']), 'amount.min' => __('validation.min.numeric', ['attribute' => '금액', 'min' => 0]), ]; } public function attributes(): array { return [ 'expected_payment_date' => '예상 지급일', 'settlement_date' => '결제일', 'transaction_type' => '거래유형', 'amount' => '금액', 'client_id' => '거래처', 'client_name' => '거래처명', 'bank_account_id' => '계좌', 'account_code' => '계정과목', 'payment_status' => '지급상태', 'approval_status' => '결재상태', 'description' => '적요', ]; } }