[Spring][쇼핑몰 프로젝트][18] 상품 등록 - 유효성 검사

https://kimvampa.tistory.com/200
This commit is contained in:
SeoJin Kim
2021-03-30 17:19:06 +09:00
parent f5489907df
commit ee09bf145e
4 changed files with 270 additions and 12 deletions

View File

@@ -30,6 +30,7 @@
</div>
<div class="form_section_content">
<input name="bookName">
<span class="ck_warn bookName_warn">책 이름을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -40,6 +41,7 @@
<input id="authorName_input" readonly="readonly">
<input id="authorId_input" name="authorId" type="hidden">
<button class="authorId_btn">작가 선택</button>
<span class="ck_warn authorId_warn">작가를 선택해주세요</span>
</div>
</div>
<div class="form_section">
@@ -48,6 +50,7 @@
</div>
<div class="form_section_content">
<input name="publeYear" autocomplete="off" readonly="readonly">
<span class="ck_warn publeYear_warn">출판일을 선택해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -56,6 +59,7 @@
</div>
<div class="form_section_content">
<input name="publisher">
<span class="ck_warn publisher_warn">출판사를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -80,7 +84,8 @@
<select class="cate3" name="cateCode">
<option selected value="none">선택</option>
</select>
</div>
</div>
<span class="ck_warn cateCode_warn">카테고리를 선택해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -89,6 +94,7 @@
</div>
<div class="form_section_content">
<input name="bookPrice" value="0">
<span class="ck_warn bookPrice_warn">상품 가격을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -97,6 +103,7 @@
</div>
<div class="form_section_content">
<input name="bookStock" value="0">
<span class="ck_warn bookStock_warn">상품 재고를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -104,23 +111,26 @@
<label>상품 할인율</label>
</div>
<div class="form_section_content">
<input name="bookDiscount" value="0">
<input name="bookDiscount">
<span class="ck_warn bookDiscount_warn">상품 할인율을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
<div class="form_section_title">
<label>책 소개</label>
</div>
<div class="form_section_content">
<div class="form_section_content bit">
<textarea name="bookIntro" id="bookIntro_textarea"></textarea>
<span class="ck_warn bookIntro_warn">책 소개를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
<div class="form_section_title">
<label>책 목차</label>
</div>
<div class="form_section_content">
<div class="form_section_content bct">
<textarea name="bookContents" id="bookContents_textarea"></textarea>
<span class="ck_warn bookContents_warn">책 목차를 입력해주세요.</span>
</div>
</div>
</form>
@@ -128,7 +138,7 @@
<button id="cancelBtn" class="btn">취 소</button>
<button id="enrollBtn" class="btn enroll_btn">등 록</button>
</div>
</div>
</div>
</div>
<%@include file="../includes/admin/footer.jsp" %>
@@ -149,7 +159,118 @@ $("#enrollBtn").on("click",function(e){
e.preventDefault();
enrollForm.submit();
/* 체크 변수 */
let bookNameCk = false;
let authorIdCk = false;
let publeYearCk = false;
let publisherCk = false;
let cateCodeCk = false;
let priceCk = false;
let stockCk = false;
let discountCk = false;
let introCk = false;
let contentsCk = false;
/* 체크 대상 변수 */
let bookName = $("input[name='bookName']").val();
let authorId = $("input[name='authorId']").val();
let publeYear = $("input[name='publeYear']").val();
let publisher = $("input[name='publisher']").val();
let cateCode = $("select[name='cateCode']").val();
let bookPrice = $("input[name='bookPrice']").val();
let bookStock = $("input[name='bookStock']").val();
let bookDiscount = $("input[name='bookDiscount']").val();
let bookIntro = $(".bit p").html();
let bookContents = $(".bct p").html();
/* 공란 체크 */
if(bookName){
$(".bookName_warn").css('display','none');
bookNameCk = true;
} else {
$(".bookName_warn").css('display','block');
bookNameCk = false;
}
if(authorId){
$(".authorId_warn").css('display','none');
authorIdCk = true;
} else {
$(".authorId_warn").css('display','block');
authorIdCk = false;
}
if(publeYear){
$(".publeYear_warn").css('display','none');
publeYearCk = true;
} else {
$(".publeYear_warn").css('display','block');
publeYearCk = false;
}
if(publisher){
$(".publisher_warn").css('display','none');
publisherCk = true;
} else {
$(".publisher_warn").css('display','block');
publisherCk = false;
}
if(cateCode != 'none'){
$(".cateCode_warn").css('display','none');
cateCodeCk = true;
} else {
$(".cateCode_warn").css('display','block');
cateCodeCk = false;
}
if(bookPrice != 0){
$(".bookPrice_warn").css('display','none');
priceCk = true;
} else {
$(".bookPrice_warn").css('display','block');
priceCk = false;
}
if(bookStock != 0){
$(".bookStock_warn").css('display','none');
stockCk = true;
} else {
$(".bookStock_warn").css('display','block');
stockCk = false;
}
if(bookDiscount < 1 && bookDiscount != ''){
$(".bookDiscount_warn").css('display','none');
discountCk = true;
} else {
$(".bookDiscount_warn").css('display','block');
discountCk = false;
}
if(bookIntro != '<br data-cke-filler="true">'){
$(".bookIntro_warn").css('display','none');
introCk = true;
} else {
$(".bookIntro_warn").css('display','block');
introCk = false;
}
if(bookContents != '<br data-cke-filler="true">'){
$(".bookContents_warn").css('display','none');
contentsCk = true;
} else {
$(".bookContents_warn").css('display','block');
contentsCk = false;
}
/* 최종 확인 */
if(bookNameCk && authorIdCk && publeYearCk && publisherCk && cateCodeCk && priceCk && stockCk && discountCk && introCk && contentsCk ){
//alert('통과');
enrollForm.submit();
} else {
return false;
}
});

View File

@@ -186,6 +186,14 @@ input[name='publeYear'] {
margin-top: 20px;
}
.ck_warn{ /* 입력란 공란 경고 태그 */
display: none;
padding-top: 10px;
text-align: center;
color: #e05757;
font-weight: 300;
}
/* 버튼 영역 */
.btn_section{

View File

@@ -30,6 +30,7 @@
</div>
<div class="form_section_content">
<input name="bookName">
<span class="ck_warn bookName_warn">책 이름을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -40,6 +41,7 @@
<input id="authorName_input" readonly="readonly">
<input id="authorId_input" name="authorId" type="hidden">
<button class="authorId_btn">작가 선택</button>
<span class="ck_warn authorId_warn">작가를 선택해주세요</span>
</div>
</div>
<div class="form_section">
@@ -48,6 +50,7 @@
</div>
<div class="form_section_content">
<input name="publeYear" autocomplete="off" readonly="readonly">
<span class="ck_warn publeYear_warn">출판일을 선택해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -56,6 +59,7 @@
</div>
<div class="form_section_content">
<input name="publisher">
<span class="ck_warn publisher_warn">출판사를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -80,7 +84,8 @@
<select class="cate3" name="cateCode">
<option selected value="none">선택</option>
</select>
</div>
</div>
<span class="ck_warn cateCode_warn">카테고리를 선택해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -89,6 +94,7 @@
</div>
<div class="form_section_content">
<input name="bookPrice" value="0">
<span class="ck_warn bookPrice_warn">상품 가격을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -97,6 +103,7 @@
</div>
<div class="form_section_content">
<input name="bookStock" value="0">
<span class="ck_warn bookStock_warn">상품 재고를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
@@ -104,23 +111,26 @@
<label>상품 할인율</label>
</div>
<div class="form_section_content">
<input name="bookDiscount" value="0">
<input name="bookDiscount">
<span class="ck_warn bookDiscount_warn">상품 할인율을 입력해주세요.</span>
</div>
</div>
<div class="form_section">
<div class="form_section_title">
<label>책 소개</label>
</div>
<div class="form_section_content">
<div class="form_section_content bit">
<textarea name="bookIntro" id="bookIntro_textarea"></textarea>
<span class="ck_warn bookIntro_warn">책 소개를 입력해주세요.</span>
</div>
</div>
<div class="form_section">
<div class="form_section_title">
<label>책 목차</label>
</div>
<div class="form_section_content">
<div class="form_section_content bct">
<textarea name="bookContents" id="bookContents_textarea"></textarea>
<span class="ck_warn bookContents_warn">책 목차를 입력해주세요.</span>
</div>
</div>
</form>
@@ -128,7 +138,7 @@
<button id="cancelBtn" class="btn">취 소</button>
<button id="enrollBtn" class="btn enroll_btn">등 록</button>
</div>
</div>
</div>
</div>
<%@include file="../includes/admin/footer.jsp" %>
@@ -149,7 +159,118 @@ $("#enrollBtn").on("click",function(e){
e.preventDefault();
enrollForm.submit();
/* 체크 변수 */
let bookNameCk = false;
let authorIdCk = false;
let publeYearCk = false;
let publisherCk = false;
let cateCodeCk = false;
let priceCk = false;
let stockCk = false;
let discountCk = false;
let introCk = false;
let contentsCk = false;
/* 체크 대상 변수 */
let bookName = $("input[name='bookName']").val();
let authorId = $("input[name='authorId']").val();
let publeYear = $("input[name='publeYear']").val();
let publisher = $("input[name='publisher']").val();
let cateCode = $("select[name='cateCode']").val();
let bookPrice = $("input[name='bookPrice']").val();
let bookStock = $("input[name='bookStock']").val();
let bookDiscount = $("input[name='bookDiscount']").val();
let bookIntro = $(".bit p").html();
let bookContents = $(".bct p").html();
/* 공란 체크 */
if(bookName){
$(".bookName_warn").css('display','none');
bookNameCk = true;
} else {
$(".bookName_warn").css('display','block');
bookNameCk = false;
}
if(authorId){
$(".authorId_warn").css('display','none');
authorIdCk = true;
} else {
$(".authorId_warn").css('display','block');
authorIdCk = false;
}
if(publeYear){
$(".publeYear_warn").css('display','none');
publeYearCk = true;
} else {
$(".publeYear_warn").css('display','block');
publeYearCk = false;
}
if(publisher){
$(".publisher_warn").css('display','none');
publisherCk = true;
} else {
$(".publisher_warn").css('display','block');
publisherCk = false;
}
if(cateCode != 'none'){
$(".cateCode_warn").css('display','none');
cateCodeCk = true;
} else {
$(".cateCode_warn").css('display','block');
cateCodeCk = false;
}
if(bookPrice != 0){
$(".bookPrice_warn").css('display','none');
priceCk = true;
} else {
$(".bookPrice_warn").css('display','block');
priceCk = false;
}
if(bookStock != 0){
$(".bookStock_warn").css('display','none');
stockCk = true;
} else {
$(".bookStock_warn").css('display','block');
stockCk = false;
}
if(bookDiscount < 1 && bookDiscount != ''){
$(".bookDiscount_warn").css('display','none');
discountCk = true;
} else {
$(".bookDiscount_warn").css('display','block');
discountCk = false;
}
if(bookIntro != '<br data-cke-filler="true">'){
$(".bookIntro_warn").css('display','none');
introCk = true;
} else {
$(".bookIntro_warn").css('display','block');
introCk = false;
}
if(bookContents != '<br data-cke-filler="true">'){
$(".bookContents_warn").css('display','none');
contentsCk = true;
} else {
$(".bookContents_warn").css('display','block');
contentsCk = false;
}
/* 최종확인 */
if(bookNameCk && authorIdCk && publeYearCk && publisherCk && cateCodeCk && priceCk && stockCk && discountCk && introCk && contentsCk ){
//alert('통과');
enrollForm.submit();
} else {
return false;
}
});

View File

@@ -186,6 +186,14 @@ input[name='publeYear'] {
margin-top: 20px;
}
.ck_warn{ /* 입력란 공란 경고 태그 */
display: none;
padding-top: 10px;
text-align: center;
color: #e05757;
font-weight: 300;
}
/* 버튼 영역 */
.btn_section{