브라우저 폼과 서버 요청 계약을 함께 설계합니다.
실무 폼은 입력 화면만 만드는 일이 아니라 name·method·enctype·검증 오류·중복 제출·접근성을 서버 계약과 맞추는 작업입니다.
label과 입력을 연결하고 서버가 기대하는 안정적인 name을 사용합니다.
클라이언트 검증은 빠른 피드백이고 서버 검증은 신뢰 경계입니다. 두 곳의 규칙이 달라지지 않도록 공통 스키마나 계약 테스트를 둡니다.
제출 중 버튼 상태, 성공 후 이동, 필드별 오류와 전체 오류, 키보드 포커스 이동까지 한 흐름으로 테스트합니다.
disabled 입력은 제출되지 않고 checkbox는 선택되지 않으면 값 자체가 없다는 점을 놓치기 쉽습니다.
직접 바꿔보세요이메일 오류 메시지를 aria-describedby로 연결하고 필수 동의 checkbox를 추가하세요.