final QA

회원가입 폼은 스키마와 화면 상태가 같은 말을 해야 한다

React Hook Form과 Yup을 연결한 뒤에는 기본값, 검증 시점, 제출 잠금, 서버 오류 표시까지 한 흐름으로 검수합니다.

Default

초기값

defaultValues가 모든 register 필드를 포함하는지 확인합니다.

Resolver

스키마 연결

yupResolver(schema)가 useForm 기준으로 들어갑니다.

Mode

검증 시점

onBlur, onChange, onSubmit 중 UX에 맞는 시점을 고릅니다.

Errors

메시지 표시

errors.username.message처럼 필드 옆에서 바로 읽히게 합니다.

Lock

중복 제출

isSubmitting 동안 버튼을 비활성화하고 라벨을 바꿉니다.

Reset

성공 정리

성공 후 reset을 호출하되 실패 시 입력값은 보존합니다.

1

빈 값 제출

필수 메시지가 모든 필드에 뜨는지 봅니다.

2

규칙 위반

이메일, 비밀번호, 확인 필드를 각각 틀립니다.

3

제출 잠금

요청 중 버튼이 한 번만 실행되는지 봅니다.

4

실패 복구

서버 오류 후 수정 가능한 상태로 남겨둡니다.

QA path: empty -> invalid format -> server failure -> valid submit -> reset
화면 상태 검수

폼이 통과하는지만 보지 말고 실패했을 때 사용자가 어떤 필드를 고쳐야 하는지 즉시 이해할 수 있는지 확인합니다.