bin2107 4 лет назад
Родитель
Сommit
f3e1abf439

+ 73 - 4
src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html

@@ -1037,6 +1037,7 @@
 	// SMM001 데이터 validation 체크
 	function smm001DataValidation(){
 		var dataBool = true;
+		let dupCnt = 0;
 		$(".mcTable").each(function(i){
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 			var contentsTypeVal = $(this).find("input:radio[name=contentsType"+thisIdx+"]:checked").val();
@@ -1048,25 +1049,30 @@
 
 			if(gagajf.isNull(contentsTypeVal)){
 				mcxDialog.alert((i+1)+'번째 컨텐츠 유형을 선택해주세요.');
+				dupCnt++;
 				return false;
 			}
 			if(contentsTypeVal=='P'){
 				if(gagajf.isNull($(this).find("input[name=planSq"+thisIdx+"]").val())){
 					mcxDialog.alert((i+1)+'번째 기획전 번호를 입력해주세요.');
 					$(this).find("input[name=planSq"+thisIdx+"]").focus();
+					dupCnt++;
 					return false;
 				}
 			}
 			if(gagajf.isNull(textColorVal)){
 				mcxDialog.alert((i+1)+'번째 썸네일 글자 색상을 선택해주세요.');
+				dupCnt++;
 				return false;
 			}
 			if(gagajf.isNull(imgVal) && gagajf.isNull(newImgVal)){
 				mcxDialog.alert((i+1)+'번째 이미지를 선택해주세요.');
+				dupCnt++;
 				return false;
 			}
 			if(gagajf.isNull(mImgVal) && gagajf.isNull(mNewImgVal)){
 				mcxDialog.alert((i+1)+'번째 모바일용 이미지를 선택해주세요.');
+				dupCnt++;
 				return false;
 			}
 		});
@@ -1075,7 +1081,9 @@
 		// }else{
 		// 	return true;
 		// }
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
 	}
 
 	// 전시 일시 체크
@@ -1106,6 +1114,7 @@
 	// 동영상 확장자 체크
 	function videoValidation(){
 		var dataBool = true;
+		let dupCnt = 0;
 		$(".mcTable").each(function(i){
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 			if($(this).find("input:radio[name=tvPlayer"+thisIdx+"]:checked").val()=='M' && ($(this).find("input[name=tvMediaKey"+thisIdx+"]").val()==null || $(this).find("input[name=tvMediaKey"+thisIdx+"]").val()=='')){
@@ -1114,6 +1123,7 @@
 				if(ext!='mp4'&&ext!='MP4'){
 					mcxDialog.alert((i+1) +'번째 ' +ext+'파일은 업로드 하실 수 없습니다.');
 					$(this).find("input:radio[name=tvPlayer"+thisIdx+"]").focus();
+					dupCnt++;
 					return false;
 				}
 			}
@@ -1124,55 +1134,65 @@
 		// }else{
 		// 	return true;
 		// }
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
 	}
 
 	var bannerDataValidation = function (){
 		var dataBool = true;
+		let dupCnt = 0;
 		$(".mcTable").each(function(i) {
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 			var bannerType = $(this).find("input[name=bannerType"+thisIdx+"]:checked").val();
-			console.log(i+1+' bannerType::'+bannerType);
 
 			if(bannerType == 1){
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner0").find("input[name=imgPath]").val())){
 					if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner0").find("input[name=newImgFile]").val())){
 						mcxDialog.alert((i+1) +'번째 컨텐츠 1단 이미지를 선택해주세요.');
+						dupCnt++;
 						return false;
 					}
 				}
 
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #link1dep").find("input[name=link]").val())){
 					mcxDialog.alert((i+1) +'번째 컨텐츠 1단 링크를 입력해주세요.');
+					dupCnt++;
 					return false;
 				}
 			}else{
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner0").find("input[name=imgPath]").val())){
 					if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner0").find("input[name=newImgFile]").val())){
 						mcxDialog.alert((i+1) +'번째 컨텐츠 1단 이미지를 선택해주세요.');
+						dupCnt++;
 						return false;
 					}
 				}
 
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #link1dep").find("input[name=link]").val())){
 					mcxDialog.alert((i+1) +'번째 컨텐츠 1단 링크를 입력해주세요.');
+					dupCnt++;
 					return false;
 				}
 
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner1").find("input[name=imgPath]").val())){
 					if(gagajf.isNull($("#mcTable"+thisIdx+" #halfBanner1").find("input[name=newImgFile]").val())){
 						mcxDialog.alert((i+1) +'번째 컨텐츠 2단 이미지를 선택해주세요.');
+						dupCnt++;
 						return false;
 					}
 				}
 
 				if(gagajf.isNull($("#mcTable"+thisIdx+" #link2dep").find("input[name=link]").val())){
 					mcxDialog.alert((i+1) +'번째 컨텐츠 2단 링크를 입력해주세요.');
+					dupCnt++;
 					return false;
 				}
 			}
 		});
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
 		// if(!dataBool){
 		// 	return false;
 		// }else{
@@ -1180,6 +1200,50 @@
 		// }
 	}
 
+	var dateNullValidation = function (){
+		var dateBool = true;
+		let dupCnt = 0;
+		$(".mcTable").each(function(i){
+			if(gagajf.isNull($(this).find("[name=dispStdt]").val())){
+				mcxDialog.alert((i+1) +"번째 " +"시작일자를 입력해주세요.");
+				$(this).find('input[name=dispStdt]').focus();
+				// dateBool = false;
+				dupCnt++;
+				return false;
+			}
+
+			if(gagajf.isNull($(this).find("[name=dispEddt]").val())){
+				mcxDialog.alert((i+1) +"번째 " +"종료일자를 입력해주세요.");
+				$(this).find('input[name=dispEddt]').focus();
+				// dateBool = false;
+				dupCnt++;
+				return false;
+			}
+
+			var thisIdx = $(this).find("input[name=tableIdx]").val();
+			var dispStdt = $(this).find("[name=dispStdt]").val().replace(/[^0-9]/g, '') + "" +$(this).find("[name=stTimeHour]").val().replace('시', '') + "" +$(this).find("[name=stTimeMin]").val().replace('분', '') + "00";
+			var dispEddt = $(this).find("[name=dispEddt]").val().replace(/[^0-9]/g, '') + "" +$(this).find("[name=edTimeHour]").val().replace('시', '') + "" +$(this).find("[name=edTimeMin]").val().replace('분', '') + "59";
+
+			let fromDate = dispStdt.replace(/[^0-9]/g, '');
+			let toDate = dispEddt.replace(/[^0-9]/g, '');
+			if(fromDate > toDate){
+				mcxDialog.alert((i+1) +"번째 " +"시작일자는 종료일자 보다 클 수 없습니다.");
+				$(this).find('input[name=dispStdt]').focus();
+				// dateBool = false;
+				dupCnt++;
+				return false;
+			}
+		});
+		// if(!dateBool){
+		// 	return false;
+		// }else{
+		// 	return true;
+		// }
+		if(dupCnt==0){
+			return true;
+		}
+	}
+
 	/**
 	 * 임시저장
 	 */
@@ -1189,6 +1253,11 @@
 			if (!gagajf.checkRequired("#popSortable")) {
 				return;
 			}
+		}else{
+			// 전시일시 체크
+			if(!dateNullValidation()){
+				return false;
+			}
 		}
 
 		// 전시일시 체크

+ 14 - 3
src/main/webapp/WEB-INF/views/display/MainGnbContentsPopupForm.html

@@ -304,12 +304,14 @@
 	// 데이터 체크
 	function groupDataValidation(){
 		var dataBool = true;
+		let dupCnt = 0;
 		$(".tabTable").each(function (i){
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 			$(this).find("input[name=brandGroup"+thisIdx+"]").each(function (idx2){
 				if(gagajf.isNull($(this).val())){
 					mcxDialog.alert((i+1)+"번째 컨텐츠영역의 "+(idx2+1)+"번째 GROUP명을 입력해주세요.");
 					$(this).focus();
+					dupCnt++;
 					return false;
 				}
 			});
@@ -317,18 +319,21 @@
 			if($("#tabTable"+thisIdx+" #tabBrand1 #brandListTd1").find('ul').find('input[name=brandGroupNo]').length < 1){
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 1번째 브랜드 정보가 없습니다.");
 				$(this).focus();
+				dupCnt++;
 				return false;
 			}
 
 			if($("#tabTable"+thisIdx+" #tabBrand2 #brandListTd2").find('ul').find('input[name=brandGroupNo]').length < 1){
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 2번째 브랜드 정보가 없습니다.");
 				$(this).focus();
+				dupCnt++;
 				return false;
 			}
 
 			if($("#tabTable"+thisIdx+" #tabBrand3 #brandListTd3").find('ul').find('input[name=brandGroupNo]').length < 1){
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 3번째 브랜드 정보가 없습니다.");
 				$(this).focus();
+				dupCnt++;
 				return false;
 			}
 		});
@@ -338,18 +343,22 @@
 		// }else{
 		// 	return true;
 		// }
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
+
 	}
 
 	// 유형선택 체크
 	var dataTypeValidation = function (){
 		var dataBool = true;
-
+		let dupCnt = 0;
 		$("#gnbTabList .tabTable").each(function (i){
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 			if(gagajf.isNull($(this).find("input:radio[name=cateType"+thisIdx+"]:checked").val())){
 				mcxDialog.alert((i+1)+'번째 유형을 선택해주세요.');
 				// dataBool = false;
+				dupCnt++;
 				return false;
 			}
 		});
@@ -359,7 +368,9 @@
 		// }else{
 		// 	return true;
 		// }
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
 	}
 
 	/**

+ 5 - 2
src/main/webapp/WEB-INF/views/display/MainMultiContentsPopupForm.html

@@ -579,7 +579,7 @@ console.log('brandGroupNo:'+brandGroupNo);
 	// 몰메인 신상품 : 상품데이터 체크
 	var goodsArrValidation = function (){
 		var dataBool = true;
-
+		let dupCnt = 0;
 		$("#multiPopSortable .tableTest").each(function(i){
 			var thisIdx = $(this).find("input[name=tableIdx]").val();
 
@@ -587,6 +587,7 @@ console.log('brandGroupNo:'+brandGroupNo);
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 상품 정보가 없습니다.");
 				$(this).focus();
 				// dataBool = false;
+				dupCnt++;
 				return false;
 			}
 		});
@@ -596,7 +597,9 @@ console.log('brandGroupNo:'+brandGroupNo);
 		// }else{
 		// 	return true;
 		// }
-		return true;
+		if(dupCnt==0){
+			return true;
+		}
 	}
 
 	/**