diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp index cbe7e702..bdb0a03e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp @@ -206,13 +206,18 @@ function imageInit(){ $("#imageFileName").val(""); //이미지 파일명 삭제 } - +/* function validateButtons() { var isValid = true; - + + console.log($('#buttonAddWrap').html()); + var val = ''; // button_add_wrap 하위 input들 중에서 비어있는 항목이 있는지 확인 $('#buttonAddWrap').find('input[type="text"]').each(function() { - if ($(this).val().trim() === '') { + + var val = $(this).val().trim(); + if (val === '') { + console.log($(this).prop('outerHTML')); isValid = false; return false; // .each 루프 중단 } @@ -221,9 +226,55 @@ function validateButtons() { if (!isValid) { alert('버튼명 및 링크를 입력해주세요.'); return false; + }else if (!val.startsWith('http://') && !val.startsWith('https://') ) { + alert('버튼의 링크는 http:// 또는 https:// 형식으로 입력해주세요.'); + $(this).focus(); + return false; } return true; +} */ + +function validateButtons() { + var isValid = true; + + $('.kakaoBtnNmList').each(function() { + var val = $(this).val().trim(); + + // 빈 값 체크 + if (val === '') { + alert('버튼명을 모두 입력해주세요.'); + $(this).focus(); + isValid = false; + return false; // .each 루프 중단 + } + + }); + + if(isValid){ + $('.kakaoBtnList').each(function() { + var val = $(this).val().trim(); + + // 빈 값 체크 + if (val === '') { + alert('링크를 모두 입력해주세요.'); + $(this).focus(); + isValid = false; + return false; // .each 루프 중단 + } + + // http 형식 체크 + if (!val.startsWith('http://') && !val.startsWith('https://')) { + alert('버튼의 링크는 http:// 또는 https:// 형식으로 입력해주세요.'); + $(this).focus(); + isValid = false; + return false; // .each 루프 중단 + } + }); + } + + + return isValid; } //최근 전송내역 @@ -483,14 +534,12 @@ function upImgClick(){ //이미지 선택시 링크 정보 및 url 패턴 검사 console.log('link: ', link); if (!link) { - - if(!confirm("먼저 URL을 입력하지 않으면 이미지에 URL이 저장되지 않습니다. 계속하시겠습니까?")){ return false; } - - - + }else if(!link.startsWith('http://') && !link.startsWith('https://')){ + alert('이동할 URL은 http:// 또는 https:// 형식으로 입력해주세요.'); + return false; } /* else if(link.search("http://") == -1 && link.search("https://") == -1){ @@ -969,6 +1018,12 @@ function fn_noTimeSend(){ //친구톡 데이터 전송 처리 function fn_sendMsgData(){ + // 유효성 검사 실패 시 저장 동작 중단 +/* if (!validateLinks()) { + return false; + } + */ + var senderKey = $("#selectAgentCode option:checked").val(); if(senderKey == ''){ @@ -1343,6 +1398,28 @@ function fn_insertErrorYN(val){ $('#errorChk').val(val); } +//링크 유효성 검증 함수 +function validateLinks() { + + console.log('검사 대상 수:', $('.kakaoBtnList').length); + + let isValid = true; + + $('.kakaoBtnList').each(function () { + const val = $(this).val().trim(); + + console.log('val : ', val); + if (val !== '' && !val.startsWith('http://') && !val.startsWith('https://')) { + alert(`"${val}" 은(는) http:// 또는 https:// 로 시작해야 합니다.`); + $(this).focus(); + isValid = false; + return false; // each 루프 중단 + } + }); + + return isValid; +} + @@ -2020,7 +2097,7 @@ function updateButtons(){
- + * 중복번호는 한번만 발송됩니다.
diff --git a/src/main/webapp/publish/js/content.js b/src/main/webapp/publish/js/content.js index a0f9a6ae..ca6804ea 100644 --- a/src/main/webapp/publish/js/content.js +++ b/src/main/webapp/publish/js/content.js @@ -1662,27 +1662,41 @@ function friendTemplateButtonAdd() { } var buttonText; var buttonView; - //템플릿 버튼은 buttonVO의 buttonVOList 변수에 셋팅해서 넘겨주게 만들었음 + //템플릿 버튼은 buttonVO의 buttonVOList 변수에 셋팅해서 넘겨주게 만들었음 if (buttonType == "button_type_1") { - buttonText = '
배송조회

*이용가능 택배사 : KG로지스, 우체국택배,일양로지스, GTX로지스, FedEx, 경동택배, 합동택배, 롯데택배

'; + buttonText = '
배송조회
' + +'' + +'

*이용가능 택배사 : KG로지스, 우체국택배,일양로지스, GTX로지스, FedEx, 경동택배, 합동택배, 롯데택배

'; buttonView = ''; } else if (buttonType == "button_type_2") { - buttonText = '
웹링크
'; + buttonText = '
웹링크
' + +'
  • ' + +'
  • ' + +'
  • ' + +'
'; buttonView = ''; } else if (buttonType == "button_type_3") { - buttonText = '
앱링크
'; + buttonText = '
앱링크
' + +'
  • ' + +'
  • ' + +'
  • ' + +'
'; buttonView = ''; } else if (buttonType == "button_type_4") { - buttonText = '
봇키워드
'; + buttonText = '
봇키워드
' + +'
'; buttonView = ''; } else if (buttonType == "button_type_5") { - buttonText = '
메시지전달
'; + buttonText = '
메시지전달
' + +'
'; buttonView = ''; } else if (buttonType == "button_type_6") { - buttonText = '
상담톡전환
'; + buttonText = '
상담톡전환
' + +'
'; buttonView = ''; } else if (buttonType == "button_type_7") { - buttonText = '
챗봇전환
'; + buttonText = '
챗봇전환
' + +'
'; buttonView = ''; } else {} $(".button_add_wrap").prepend(buttonText);