오늘 배운 것
- Google OAuth로 회원 가입 후, 기본적인 회원 정보 설정하는 페이지에 안내와 유효성 검사를 추가했다.
고민한 것
- 회원 정보 설정 페이지에는 이름 / 성별 / 예산 시작일 / 예산 금액 / 급여일 / 급여 금액
이렇게를 input으로 받고 있다.
이 정보들의 유효성 검사를 다른 라이브러리의 도움 없이 구현해보고자 한다.
또한, 유효성 검사의 패스 여부에 따라 하단 '저장하기' 버튼을 활성화/비활성화 할 예정이다.
해결한 방법
- 유효성 검사의 기본 로직은 다음과 같다.
- 상태 관리: 각 정보의 input value / 오류메세지 / 유효성검사 패스 여부
- 상태 변경 로직:
각 정보의 onChange 핸들러에
1. setInputValue(e.target.value)
조건문으로 분기하여 유효성 검사 조건 작성
(정규식으로 판별한다면 .test 메서드 사용)
-> 조건에 부합한다면: setErrorMessage('통과~~') / setIsPassed(true)
-> 조건에 부합하지 않는다면: setErrorMessage('2글자 이상 5글자 미만으로 입력해주세요') / setIsPassed(false)
이렇게 구현하고, 에러일 때와 패스일 때의 클래스를 지정해주어 조건부 스타일링을 적용하면 된다.
마지막으로 모든 유효성 검사 상태들이 true 일 때에만 저장하기 버튼을 disabled 속성을 false로 변경하도록 해주면 된다.
해결해야 할 남은 문제
이렇게 구조를 짜고 나서, 어떻게 코드의 재사용성을 높일 수 있을지 고민했다.
'회고' 카테고리의 다른 글
2차 과제 구현 과정 및 회고 (0) | 2023.07.11 |
---|---|
과제 프로젝트 회고 (0) | 2023.07.04 |
20230407 프로젝트 매일회고 (0) | 2023.04.07 |
20230403 프로젝트 Season 1. 회고 (0) | 2023.04.04 |
20230330 프로젝트 데일리 로그 (2) | 2023.03.30 |