final QA
회원가입 폼은 스키마와 화면 상태가 같은 말을 해야 한다
React Hook Form과 Yup을 붙인 뒤에는 기본값, 검증 시점, 제출 잠금, 서버 오류까지 한 흐름으로 검수한다.
기준 연결
schema, resolver, errors,
isSubmitting이 같은 필드 이름을 공유해야 한다.
| 검수 축 | 화면 기준 | 통과 조건 | 놓치기 쉬운 실패 |
|---|---|---|---|
| defaultValues | 모든 register 필드의 초기 상태 | 빈 화면과 reset 결과가 같은 구조다. | 누락 필드가 controlled 경고를 만든다. |
| resolver | Yup 스키마와 메시지 | 스키마가 오류 문구의 단일 기준이다. | 스키마 필드명과 input 이름이 다르다. |
| mode | onBlur, onChange, onSubmit | 사용자가 고칠 타이밍에만 오류가 보인다. | 타이핑 첫 글자부터 오류가 튄다. |
| submit lock | isSubmitting과 버튼 비활성 | 요청 중 중복 제출이 막힌다. | 실패 후 버튼이 계속 잠긴다. |
| server error | 서버 응답의 필드 매핑 | 수정할 위치 옆에 오류가 남는다. | 전역 오류만 떠서 무엇을 고칠지 모른다. |
Empty
빈 제출은 필수 메시지와 포커스 이동을 확인한다.
Invalid
이메일, 비밀번호, 확인값을 각각 틀려 메시지를 본다.
Pending
요청 중 라벨과 disabled 상태가 동시에 바뀐다.
Success
성공 후 reset은 하되 실패 입력은 보존한다.