JSP
JSP 유효성검사 (validation) 2 글자수 유효성 검사
9400
2023. 1. 6. 11:20
자바스크립트를 이용한 폼 글자수 유효성 검사
<%@ 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></script>
<title>Validation03</title>
<script type="text/javascript">
function checkLogin(){
//폼페이지가 js오브젝트 변수로 할당
let form = document.loginForm;
//아이디 입력값의 길이
let idLen = form.id.value.length;
//비밀번호 입력값의 길이
let passwdLen = form.passwd.value.length;
console.log("idLen : "+idLen+", passwdLen: "+passwdLen);
if(idLen<4 || idLen>12){
alert("아이디는 4-12글자 이내로 입력 가능합니다.");
form.id.select();
return false;
}
//비밀번호는 4자 이상으로
if(passwdLen<4){
alert("비밀번호는 4자 이상으로 입력해야 합니다.");
//.focus() : 클릭
form.passwd.focus();
return;
//return == return false;
}
//조건문을 무사히 통과했다면 submit하자
form.submit();
}
</script>
</head>
<body>
<!-- 기본 유효성 검사 >>> 데이터 길이 확인
아이디, 비밀번호 등과 같은 입력 데이터의 제한 길이를 검사
-->
<form name="loginForm" action="validation03_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>Validation03</title>
<script type="text/javascript">
//document.ready() 와 같은 의미 = $(function({}))
$(function(){
$('button').on('click',function(){
let id = $('#id').val();
let idLen = id.length;
console.log("id : "+id+", idLen : "+idLen);
let passwd = $("#passwd").val();
let passwdLen = passwd.length;
console.log("passwd : "+passwd+", passwdLen : "+passwdLen);
if(idLen<4 || idLen>12){
alert("아이디는 4-12글자 이내로 입력 가능합니다.");
$('#id').focus();
return false;
}
//비밀번호는 4자 이상으로
if(passwdLen<4){
alert("비밀번호는 4자 이상으로 입력해야 합니다.");
//.focus() : 클릭
$('#passwd').focus();
return;
//return == return false;
}
//조건문을 무사히 통과했다면 submit하자
$('#loginForm').submit();
})
});
</script>
</head>
<body>
<!-- 기본 유효성 검사 >>> 데이터 길이 확인
아이디, 비밀번호 등과 같은 입력 데이터의 제한 길이를 검사
-->
<form name="loginForm" action="validation03_process.jsp"
method="post" id="loginForm">
<p>아이디 : <input type="text" name="id" id="id"/></p>
<p>비밀번호 : <input type="text" name="passwd" id="passwd" class="cls passwd"/></p>
<!-- checkForm() : 핸들러 함수 -->
<p><button type="button" >전송</button></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>Insert title here</title>
</head>
<body>
<h3>입력에 성공했습니다.</h3>
<% //스크립틀릿
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
%>
<p>아이디 : <%= id%></p>
<p>비밀번호 : <%= passwd%></p>
</body>
</html>
유효성검사에 통과하지 못할시 ->
유효성 검사 통과 성공 ->