From 163432dc995b2a8303550f9928cbbcd44c0c7612 Mon Sep 17 00:00:00 2001 From: keyy1315 Date: Wed, 2 Jul 2025 10:35:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Alert=20=EB=A9=94=EC=84=B8=EC=A7=80=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 제출 confirm 메세지 내용 변경 - 최대/최소 값 입력 시 alert 처리 --- src/components/inquiry/RegistForm.tsx | 16 ++++++++++++++-- src/components/survey-sale/detail/RoofForm.tsx | 9 ++++++++- src/hooks/useAlertMsg.ts | 6 +++--- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/components/inquiry/RegistForm.tsx b/src/components/inquiry/RegistForm.tsx index e44dd82..2f5f677 100644 --- a/src/components/inquiry/RegistForm.tsx +++ b/src/components/inquiry/RegistForm.tsx @@ -256,7 +256,13 @@ export default function RegistForm() { className="input-frame" type="text" placeholder="お問い合わせタイトルを記入してください" - onChange={(e) => setInquiryRequest({ ...inquiryRequest, title: e.target.value })} + onChange={(e) => { + if (e.target.value.length >= 100) { + showErrorAlert(WARNING_MESSAGE.TITLE_MAX_LENGTH) + return + } + setInquiryRequest({ ...inquiryRequest, title: e.target.value }) + }} maxLength={100} id="title" /> @@ -272,7 +278,13 @@ export default function RegistForm() { rows={6} id="contents" placeholder="お問い合わせ内容を入力してください" - onChange={(e) => setInquiryRequest({ ...inquiryRequest, contents: e.target.value })} + onChange={(e) => { + if (e.target.value.length >= 2000) { + showErrorAlert(WARNING_MESSAGE.CONTENTS_MAX_LENGTH) + return + } + setInquiryRequest({ ...inquiryRequest, contents: e.target.value }) + }} value={inquiryRequest.contents} maxLength={2000} > diff --git a/src/components/survey-sale/detail/RoofForm.tsx b/src/components/survey-sale/detail/RoofForm.tsx index aa66cf5..d00d2c7 100644 --- a/src/components/survey-sale/detail/RoofForm.tsx +++ b/src/components/survey-sale/detail/RoofForm.tsx @@ -262,7 +262,14 @@ export default function RoofForm(props: { id="memo" value={roofInfo?.memo ?? ''} disabled={mode === 'READ'} - onChange={(e) => setRoofInfo({ ...roofInfo, memo: e.target.value })} + onChange={(e) => { + if (e.target.value.length >= 2000) { + showErrorAlert(WARNING_MESSAGE.CONTENTS_MAX_LENGTH) + return + } + setRoofInfo({ ...roofInfo, memo: e.target.value }) + }} + maxLength={2000} > diff --git a/src/hooks/useAlertMsg.ts b/src/hooks/useAlertMsg.ts index d0e82b9..43b7313 100644 --- a/src/hooks/useAlertMsg.ts +++ b/src/hooks/useAlertMsg.ts @@ -28,8 +28,8 @@ export const SUCCESS_MESSAGE = { * @description 확인 메세지 상수 객체 */ export const CONFIRM_MESSAGE = { - /** 제출 확인 - "제출하시겠습니까?" */ - SUBMIT_CONFIRM: '提出しますか?', + /** 제출 확인 - "전송하시겠습니까? 전송 후에는 수정/삭제 할 수 없습니다." */ + SUBMIT_CONFIRM: '送信しますか? 送信後は変更・修正することはできません。', /** 저장 확인 - "저장하시겠습니까?" */ SAVE_CONFIRM: '保存しますか?', @@ -56,7 +56,7 @@ export const WARNING_MESSAGE = { EMAIL_PREFIX_IS_INVALID: '有効なメールアドレスを入力してください。', /** 최소값 오류 - "2자 이상 입력하세요" */ - KEYWORD_MINIMUM_LENGTH: '2文字以上入力してください', + KEYWORD_MINIMUM_LENGTH: 'タイトルを入力してください(2文字以上)。', /** 최대값 오류 - "30자 이내로 입력하세요" */ KEYWORD_MAX_LENGTH: '30文字以内で入力してください',