From 46a24a25e76bffe163b8fe9750c9a9226a236803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=98=88=EC=A7=84?= Date: Mon, 23 Dec 2024 16:06:35 +0900 Subject: [PATCH] fix: check all validations in PersonalInfoForm --- .../my_profile/PersonalInfoForm/PersonalInfoForm.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/processes/my_profile/PersonalInfoForm/PersonalInfoForm.tsx b/src/processes/my_profile/PersonalInfoForm/PersonalInfoForm.tsx index 5e43b52..5e0dc98 100644 --- a/src/processes/my_profile/PersonalInfoForm/PersonalInfoForm.tsx +++ b/src/processes/my_profile/PersonalInfoForm/PersonalInfoForm.tsx @@ -95,10 +95,12 @@ export const PersonalInfoForm = ({ onClickNextForm }: { onClickNextForm?: () => const currentStep = useMemo(() => PersonalInfoStepMap[step], [step]); const canShowNext = useMemo(() => step < PersonalInfoStepEnum.HEIGHT || onClickNextForm, [onClickNextForm, step]); - const canClickNext = useMemo( - () => (step < PersonalInfoStepEnum.HEIGHT || onClickNextForm) && currentStep?.canGoNext(personalInfoData), - [currentStep, onClickNextForm, personalInfoData, step], - ); + const canClickNext = useMemo(() => { + const isValid = Object.values(PersonalInfoStepMap) + .slice(0, step + 1) + .every((v) => v.canGoNext(personalInfoData)); + return (step < PersonalInfoStepEnum.HEIGHT || onClickNextForm) && isValid; + }, [onClickNextForm, personalInfoData, step]); const onClickNext = () => { step < PersonalInfoStepEnum.HEIGHT ? setStep((prev) => prev + 1) : onClickNextForm?.();