회원가입 validation
학원 수업 Day13
flickr 갤러리 적용
어제 한 flickr API를 기존에 만들었던 기업형 레이아웃에 적용했다.
새로운건 크게 없고 예외 처리에 대해 복습했다.
회원가입 validation
데이터 검증 요소
-
text 길이
-
email @ 포함
-
체크박스 선택
-
select 선택
-
비밀번호 길이, 특수문자, 숫자 포함
함수 별 조건 만족 여부에 따라 return true
/ return false
이후, 에러 값 true 있으면 e.preventDefault()
로 페이지 이동 막음.
모든 결과값이 false 여야 result.html로 이동
개인적으로 함수 패키징 및 재사용에 중점을 두고 작업했다.
비밀번호는 다중 조건이므로 에러 조건을 개별로 표시될 수 있도록 추가했다.
비밀번호 확인
const pwError = checkPw('pw1', 6);
if (pwError) {
e.preventDefault();
errorMsg('pw1', `비밀번호 양식에 맞게 입력하세요. (${pwError.join(', ')})`);
}
데이터 검증
const errReason = [];
if (txt.length < len) errReason.push(`${len}글자 이상`)
const regexp = {
'숫자 포함': /[0-9]/,
'영문자 포함': /[a-zA-Z]/,
'특수문자 포함': /[~!@#$%^&*()_+?<>₩]/
};
for (let exp of Object.keys(regexp)) {
if (!regexp[exp].test(txt)) errReason.push(exp);
}
에러 메세지 출력
function errorMsg(name, msg) {
const el = $form.querySelector(`[name=${name}]`);
const errMsg = document.createElement('p');
errMsg.innerText = msg;
el.closest('td').append(errMsg);
}