['sometimes', 'string', 'max:10'], 'bank_name' => ['sometimes', 'string', 'max:50'], 'account_number' => ['sometimes', 'string', 'max:30', 'regex:/^[\d-]+$/'], 'account_holder' => ['sometimes', 'string', 'max:50'], 'account_name' => ['sometimes', 'string', 'max:100'], 'account_type' => ['sometimes', 'nullable', 'string', 'max:30'], 'balance' => ['sometimes', 'nullable', 'numeric', 'min:0'], 'currency' => ['sometimes', 'nullable', 'string', 'max:3'], 'opened_at' => ['sometimes', 'nullable', 'date'], 'branch_name' => ['sometimes', 'nullable', 'string', 'max:100'], 'memo' => ['sometimes', 'nullable', 'string', 'max:500'], 'status' => ['sometimes', 'string', 'in:active,inactive'], 'assigned_user_id' => ['nullable', 'integer', 'exists:users,id'], 'sort_order' => ['sometimes', 'nullable', 'integer', 'min:0'], ]; } public function messages(): array { return [ 'account_number.regex' => __('validation.account_number_format'), ]; } public function attributes(): array { return [ 'bank_code' => __('validation.attributes.bank_code'), 'bank_name' => __('validation.attributes.bank_name'), 'account_number' => __('validation.attributes.account_number'), 'account_holder' => __('validation.attributes.account_holder'), 'account_name' => __('validation.attributes.account_name'), 'status' => __('validation.attributes.status'), 'assigned_user_id' => __('validation.attributes.assigned_user_id'), ]; } }