[TIL #66] 중복처리

차슈·2024년 8월 9일
0

TIL

목록 보기
66/70
post-thumbnail

이메일과 닉네임에서 중복확인이 되지 않으면 다음 단계로 넘어가지 않게 하려고 했다.

문제

중복확인이 안되면 안넘어가지기는 하는데, 이메일 중복확인을 누르는 순간 닉네임 중복확인이 같이 되어, 닉네임 페이지로 가면, 아무것도 입력하지 않았는데 중복확인 메시지가 뜨는것을 확인할 수 있었다.

   // 이메일 중복 확인이 필요할 경우 추가적인 검사를 진행합니다.
    if (!isEmailChecked) {
      setErrors((prev) => ({
        ...prev,
        email: '이메일 중복 확인이 필요합니다.'
      }));
      return;
    }

    if (!isNicknameChecked) {
      setErrors((prev) => ({
        ...prev,
        nickname: '별명 중복 확인이 필요합니다.'
      }));
      return;
    }

여기에 코드가 같이 돌아가서 그런거같아서 수정했다.

해결

step을 추가해서 해당 step에서만 실행될 수 있게 수정하였다.
이렇게 했더니 해결

 if (step === 0) {
      if (!isEmailChecked) {
        setErrors((prev) => ({
          ...prev,
          email: '이메일 중복 확인이 필요합니다.'
        }));
        return;
      }
      setStep(1);
    } else if (step === 4) {
      if (!isNicknameChecked) {
        setErrors((prev) => ({
          ...prev,
          nickname: '별명 중복 확인이 필요합니다.'
        }));
        return;
      }
    }

0개의 댓글