From 96196229f4a18816f2496746ad1edcec7fe9cbb5 Mon Sep 17 00:00:00 2001 From: mind-one001 Date: Wed, 16 Sep 2026 11:15:18 +0900 Subject: [PATCH] fix(sn): align business form limits with standardized database --- .../ctyFldngPrvtnBiz/ui/CtyFldngPrvtnBizFormPage.tsx | 5 +++++ apps/sn/src/features/obsltPpl/ui/ObsltPplFormPage.tsx | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/sn/src/features/ctyFldngPrvtnBiz/ui/CtyFldngPrvtnBizFormPage.tsx b/apps/sn/src/features/ctyFldngPrvtnBiz/ui/CtyFldngPrvtnBizFormPage.tsx index b4db9d898..c49c8c673 100644 --- a/apps/sn/src/features/ctyFldngPrvtnBiz/ui/CtyFldngPrvtnBizFormPage.tsx +++ b/apps/sn/src/features/ctyFldngPrvtnBiz/ui/CtyFldngPrvtnBizFormPage.tsx @@ -379,6 +379,10 @@ export function CtyFldngPrvtnBizFormPage({ id }: { id?: string }) { type, ]: (typeof BASIC_FIELDS)[number]) => { const fieldId = `cty-fldng-basic-${key}`; + // SN 표준 DB 길이와 입력 한계를 맞추되 API 필드명은 유지한다. + const standardMaxLengths: Partial> = { + bizCd: 10, bizNm: 200, drareaNm: 100, drndstNm: 100, sggNm: 40, picNm: 100, + }; const suggestionOptions = key === "dsgnType" ? cityDesignationTypeOptions @@ -401,6 +405,7 @@ export function CtyFldngPrvtnBizFormPage({ id }: { id?: string }) { 10) nextErrors.bizCd = "사업코드는 10자 이하여야 합니다."; + if (form.bizNm.length > 200) nextErrors.bizNm = "사업명은 200자 이하여야 합니다."; if (!form.ctpvNm.trim() || ctpvCd === "0") nextErrors.region = "시도는 필수입니다."; [...NUMBER_KEYS].forEach((key) => { @@ -364,7 +367,7 @@ export function ObsltPplFormPage({ id }: { id?: string }) { className="w-full !text-[1.3rem]" type={field.type === "number" ? "number" : "text"} step={field.type === "number" ? "any" : undefined} - maxLength={DATE_KEYS.has(field.key) ? 10 : undefined} + maxLength={DATE_KEYS.has(field.key) || field.key === "bizCd" ? 10 : field.key === "bizNm" ? 200 : undefined} list={suggestionListId} value={form[field.key]} placeholder={field.placeholder}