Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

기록

JSP 유효성검사 (validation) 1 본문

JSP

JSP 유효성검사 (validation) 1

9400 2023. 1. 5. 13:41

유효성검사 (validation)

- 사용자가 폼 페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되었는지 검증하는것

- 사용자가 실수로 유효하지 않은 데이터 값을 입력하면 부적합하다고 판단하여 다시 폼 페이지로 되돌려 사용자에게 오류가 있음을 알려줌. 

 

 1) 기본 유효성검사
    입력된 데이터값의 존재 유무를 검사(입력했냐 안했냐) 

    ex) 필수입력체크
 2) 데이터 형식 유효성검사

 사용자가 폼 페이지의 입력 항목에 입력한 데이터 값이
    특정 패턴에 적합한지 검사하기 위해 정규 표현식(reqular expression)을 사용.

   ex) 주민번호, 전화번호, 나이(숫자) 


 1. Flag : /정규표현식/ 끝에 사용하며 생략 가능 
  ( I aM falG)
  - i(Ignore Case) : 대소문자 구별 없음. 
  - m(Multi Line) : 줄 바꿈 있니?
  - g(Global) : 모든 패턴 검출 
 2. 메소드
  - test() : 정규표현식.test(대상문자열)   true/false 리턴 *****
  - exec() : 정규표현식.exec(대상문자열)   패턴에 맞는 문자열 추출

 

 

유효성 검사를 위한 핸들러 함수 예시

일단 입력한 id와 pw를 콘솔에 출력해보기 

<!-- 폼페이지 -->
<form name="loginForm">
	<p>아이디 : <input type="text" name="id" /></p>
	<p>비밀번호 : <input type="text" name="passwd" /></p>
	<!-- checkForm() : 핸들러 함수 -->
	<p><input type="button" value="전송" onclick="checkForm()"/></p>
</form>
<script type="text/javascript">
	function checkForm() {
		//아이디 값
 		let id = document.loginForm.id.value;
		let passwd = document.loginForm.passwd.value;
		console.log("아이디:"+id+"비밀번호:"+passwd)	
	}

</script>

출력 결과

 

 

자바스크립트 아이디, 비밀번호 기본 유효성 검사

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/js/jquery-3.6.3.min.js"></script>
<title>validation</title>
<script type="text/javascript">
		자바스크립트 버전
    	function checkLogin(){
 		//폼 페이지를 JS 객체로 할당
 		let form = document.loginForm;
 		if(form.id.value==""){ //아이디 값이 없으면
 			alert("아이디를 입력해주세요")
 			form.id.focus();
 			return false;  //함수를 종료 
 		}else if(form.passwd.value==""){ //비밀번호 값이 없으면
 			alert("비밀번호를 입력해주세요");
 			form.passwd.focus();
 			return false;
 		}
		form.submit();
 	} 

</script>
</head>
<body>
	<!-- 기본 유효성 검사
	- 입력한 데이터 값이 있니? 없니?
	- 데이터 길이, 숫자 등 기본적인 것이 맞는지 검사
	 -->
	<form name="loginForm" action="validation02_process.jsp"
		  method="post" id="loginForm">
		<p>아이디 : <input type="text" name="id" /></p>
		<p>비밀번호 : <input type="text" name="passwd" class="cls passwd"/></p>
		<!-- checkForm() : 핸들러 함수 -->
 		<p><input type="button" value="전송" onclick="checkLogin()"/></p> 
	</form>


</body>
</html>

 

 

제이쿼리 아이디, 비밀번호 유효성 검사

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/js/jquery-3.6.3.min.js"></script>
<title>validation</title>
<script type="text/javascript">

$(function(){
	$("input[type='button']").on('click',function(){
	//아이디 입력란의 값의 값을 가져옴
	let id = $("input[name='id']").val();
	let passwd = $(".passwd").val();
	
	console.log("id :"+id+", passwd : "+ passwd);
	if(id==""){
		alert("아이디를 입력해주세요");
	}else if(passwd==""){
		alert("비밀번호를 입력해주세요");
	}else{
		alert("정상입력");	
		$('#loginForm').submit();
	}
	});
});

</script>
</head>
<body>
	<!-- 기본 유효성 검사
	- 입력한 데이터 값이 있니? 없니?
	- 데이터 길이, 숫자 등 기본적인 것이 맞는지 검사
	 -->
	<form name="loginForm" action="validation02_process.jsp"
		  method="post" id="loginForm">
		<p>아이디 : <input type="text" name="id" /></p>
		<p>비밀번호 : <input type="text" name="passwd" class="cls passwd"/></p>
		<!-- checkForm() : 핸들러 함수 -->
		<p><input type="button" value="전송" "/></p> -->
	</form>

</body>
</html>

 

 

유효성 검사에 어긋날시 

 

유효성 검사 성공시 

처리페이지 

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>Validation</title>
</head>
<body>
	<h3>입력에 성공했습니다.</h3>
	<% //스크립틀릿
	
	//validation02_process.jsp?id=a001&passwd=java
	//단 post는 가려서 옴
	//요청(http) 파라미터(QueryString) : id=a001&passwd=java
	//한글처리
	request.setCharacterEncoding("utf-8");
	String id = request.getParameter("id"); //a001
	String passwd = request.getParameter("passwd");
	%>
	
	<p>아이디 : <%= id%></p>
	<p>비밀번호 : <%=passwd%></p>
</body>
</html>

처리 결과

Comments