유효성 검사가 필요한 이유와 검사 항목
- 이유
- 보안 공격, 잘못된 데이터, 사용자로 의 실수로 예상 가능한 오류 등을 방지할 수 있음
- 다양한 사용자가 폼 데이터를 입력해도 폼 페이지의 동일한 입력 양식과 형태를 유지할 수 있음- 유효성 검사 항목
- 입력 데이터가 null인지 확인
- 날짜나 이메일을 입력할 때 형식에 맞는지 확인
- 나이를 입력할 때 숫자인지 확인
- 입력 데이터의 제한 길이를 초과했는지 확인
- 로그인 인증 시 아이디와 비밀번호를 확인
- 회원 가입시 아이디 중복 여부를 확인1.1 유효성 검사를 위한 핸들러 함수
- 핸들러 함수는 폼 페이지에서 이벤트가 발생했을 때(<submit>함수를 클릭한 경우)의 유효성 검사를 매핑하는 메서드
- 자바스크립트를 이용하여 유효성 검사를 위한 코드를 작성
- 자바스크립트는 웹 브라우저에서 유효성 검사를 처리하므로 서버에서 처리하는 것보다 속도가 빠르고 서버에 과부하를 주지 않음
- 핸들러 함수에서는 사용자가 폼 페이지에 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되었는지를 검사함
- 입력된 데이터가 유효성 검사를 통과하면 서버로 전송하고, 그렇지 않으면 서버 전송을 취소하고 사용자에게 오류 메세지를 보여주는 역할을 함
유효성 검사를 위해 핸들러 함수를 만드는 과정
1) input 태그의 type 속성 값이 submit인 경우 onclick 속성을 이용하여 핸들러 함수를 설정함, 또는 form 태그의 onsubmit 속성 값에 설정함
2) 자바 스크립트를 이용하여 <script>...</script> 내에 함수를 작성함. <script>...</script> 구문은 JSP 페이지의 어디에 위치해도 괜찮음
3) 폼 페이지에서 입력된 데이터 값을 핸들러 함수로 가져오기 위해 form 태그의 name 속성 또는 forms 객체를 이용함. forms 객체를 이용하는 경우, forms 객체는 배열의 형태이기 때문에 length 속성으로 크기를 알 수 있고 배열 값인 index는 form 태그가 나타나는 순서로 0부터 시작함
예제 8-1 폼 페이지에 입력한 아이디와 비밀번호 출력하기
- 형식
documetn.폼 이름.입력양식 이름.value==""
예제 8-2 폼 페이지에 입력한 데이터(아이디와 비밀번호) 값의 유무 검사하기
- 형식
document.폼 이름.입력양식 이름.value.length
예제 8-3 폼 페이지에 입력한 데이터(아이디와 비밀번호) 값의 길이 검사하기
- 형식
isNaN(document.폼 이름.입력양식 이름.value)
예제 8-4 폼 페이지에 입력한 비밀번호 값이 숫자인지 검사하기