['required', 'string', Rule::in(TaxInvoice::INVOICE_TYPES)], 'issue_type' => ['required', 'string', Rule::in(TaxInvoice::ISSUE_TYPES)], 'direction' => ['required', 'string', Rule::in(TaxInvoice::DIRECTIONS)], // 공급자 정보 'supplier_corp_num' => ['required', 'string', 'max:20'], 'supplier_corp_name' => ['required', 'string', 'max:100'], 'supplier_ceo_name' => ['nullable', 'string', 'max:50'], 'supplier_addr' => ['nullable', 'string', 'max:200'], 'supplier_biz_type' => ['nullable', 'string', 'max:100'], 'supplier_biz_class' => ['nullable', 'string', 'max:100'], 'supplier_contact_id' => ['nullable', 'string', 'email', 'max:100'], // 공급받는자 정보 'buyer_corp_num' => ['required', 'string', 'max:20'], 'buyer_corp_name' => ['required', 'string', 'max:100'], 'buyer_ceo_name' => ['nullable', 'string', 'max:50'], 'buyer_addr' => ['nullable', 'string', 'max:200'], 'buyer_biz_type' => ['nullable', 'string', 'max:100'], 'buyer_biz_class' => ['nullable', 'string', 'max:100'], 'buyer_contact_id' => ['nullable', 'string', 'email', 'max:100'], // 금액 정보 'issue_date' => ['required', 'date'], 'supply_amount' => ['required', 'numeric', 'min:0'], 'tax_amount' => ['required', 'numeric', 'min:0'], // 품목 정보 'items' => ['nullable', 'array'], 'items.*.name' => ['required_with:items', 'string', 'max:100'], 'items.*.spec' => ['nullable', 'string', 'max:100'], 'items.*.qty' => ['nullable', 'numeric', 'min:0'], 'items.*.unit_price' => ['nullable', 'numeric', 'min:0'], 'items.*.supply_amt' => ['nullable', 'numeric', 'min:0'], 'items.*.tax_amt' => ['nullable', 'numeric', 'min:0'], 'items.*.remark' => ['nullable', 'string', 'max:200'], // 참조 정보 'reference_type' => ['nullable', 'string', 'max:50'], 'reference_id' => ['nullable', 'integer'], 'description' => ['nullable', 'string', 'max:1000'], ]; } public function attributes(): array { return [ 'invoice_type' => __('validation.attributes.invoice_type'), 'issue_type' => __('validation.attributes.issue_type'), 'direction' => __('validation.attributes.direction'), 'supplier_corp_num' => __('validation.attributes.supplier_corp_num'), 'supplier_corp_name' => __('validation.attributes.supplier_corp_name'), 'buyer_corp_num' => __('validation.attributes.buyer_corp_num'), 'buyer_corp_name' => __('validation.attributes.buyer_corp_name'), 'issue_date' => __('validation.attributes.issue_date'), 'supply_amount' => __('validation.attributes.supply_amount'), 'tax_amount' => __('validation.attributes.tax_amount'), ]; } }