diff --git a/src/main/webapp/WEB-INF/jsp/include/fims/tail-biz.jsp b/src/main/webapp/WEB-INF/jsp/include/fims/tail-biz.jsp
index 95aee36d..26e14a60 100644
--- a/src/main/webapp/WEB-INF/jsp/include/fims/tail-biz.jsp
+++ b/src/main/webapp/WEB-INF/jsp/include/fims/tail-biz.jsp
@@ -14,7 +14,6 @@
-<%-- --%>
diff --git a/src/main/webapp/WEB-INF/templates/thymeleaf/layout/cmm_script.html b/src/main/webapp/WEB-INF/templates/thymeleaf/layout/cmm_script.html
index 82d3e34e..e73c3460 100644
--- a/src/main/webapp/WEB-INF/templates/thymeleaf/layout/cmm_script.html
+++ b/src/main/webapp/WEB-INF/templates/thymeleaf/layout/cmm_script.html
@@ -30,8 +30,7 @@
-
-
+
diff --git a/src/main/webapp/resources/js/fims/framework/cmm/validator.js b/src/main/webapp/resources/js/fims/framework/cmm/validator.js
deleted file mode 100644
index 3a80e7ff..00000000
--- a/src/main/webapp/resources/js/fims/framework/cmm/validator.js
+++ /dev/null
@@ -1,535 +0,0 @@
-/***************************************************************************************************
- * Daon Soft 폼 검증 툴
- * Designed By xanadu (방기배)
- * 사용방법 :
- * HTML -
- * 아래 예와 같이 속성명을 정의하고, Form Elements 에 class 속성으로 사용한다.
- *
- * 예를 들어 반드시 입력해야 하며, 숫자만으로 되어있어야 하며, white space가 없어야 한다면,
- * 아래와 같이 사용한다.
- *
- *
- * SCRIPT -
- * 폼 전체 적용
- * if(Validator.validate(검증대상Form객체)){
- * 문제가 없다면 수행할 코드....
- * form.submit();
- * }
- *
- * 한 항목씩 사용
- * var message = Validator["validate-full-jumin"](str);
- * // 오류가 있으면 메시지를 반환
- * if(message) {
- * alert(message);
- * return false;
- * }
- ***************************************************************************************************/
-
-
-
-$(document).ready(function(){
- /**
- * ime-mode 설정
- */
- $('.validate-digits').css("ime-mode","disabled"); //숫자만 입력 가능
- $('.validate-digits-').css("ime-mode","disabled"); //숫자 및 하이픈(-)만 입력 가능
- $('.validate-digits-dot').css("ime-mode","disabled"); //숫자 및 도트(.)만 입력 가능
- $('.validate-digits-comma').css("ime-mode","disabled"); //숫자 및 콤마(.)만 입력 가능
- $('.validate-digits-comma-dot').css("ime-mode","disabled"); //숫자 및 콤마(,),도트(.)만 입력 가능
- $('.validate-amount').css("ime-mode","disabled"); //금액만 입력 가능(숫자 및 콤마(,),포인트(.))
- $('.validate-id-format').css("ime-mode","disabled"); //아이디-영문으로 시작하고 영문(대소문자),숫자.,_만 입력 가능
- $('.validate-nickname-format').css("ime-mode","active"); //닉네임-한글,영문(대,소),숫자만 입력 가능
- $('.validate-alpha').css("ime-mode","disabled"); //영문으로 시작-알파뱃만 입력 가능
- $('.validate-basic-char').css("ime-mode","disabled"); //영문,슛자,언더바(_)만 입력 가능
- $('.validate-alpha-num').css("ime-mode","disabled"); //영문 및 숫자만 입력 가능
- $('.validate-kr-digits').css("ime-mode","active"); //한글 및 숫자 조합만 입력 가능
- $('.validate-date').css("ime-mode","disabled"); //날짜입력
- $('.validate-email').css("ime-mode","disabled"); //유효한 이메일
- $('.validate-url').css("ime-mode","disabled"); //유효한 url
- $('.validate-front-jumin').css("ime-mode","disabled"); //주민번호 앞자리
- $('.validate-back-jumin').css("ime-mode","disabled"); //주민번호 뒷자리
- $('.validate-full-jumin').css("ime-mode","disabled"); //전체 주민번호
- $('.validate-tel-num').css("ime-mode","disabled"); //전화번호
- $('.validate-biz-num').css("ime-mode","disabled"); //사업자번호
- $('.validate-ip').css("ime-mode","disabled"); //ip address
-});
-
-
-//*항목별 유효성검사 class 적용
-// -필수입력 항목
-// :required
-// -날짜 항목
-// :validate-date
-// -금액 항목
-// :validate-amount
-// -이메일 항목
-// :validate-email
-// -숫자 입력 항목
-// :validate-digits //숫자만 입력
-// :validate-digits- //숫자 및 하이픈(-)만 입력 가능
-// :validate-digits-comma //숫자 및 콤마(,)만 입력 가능
-// :validate-digits-dot //숫자 및 도트(.)만 입력 가능
-// :validate-digits-comma-dot //숫자 및 콤마(,),도트(.)만 입력 가능
-
-/**
- * text input에 사용자가 입력한 데이터 전체를 자동 validation 한다.
- * validator.js를 참고해서 input태그의 class="속성1 속성2 속성3"을 입력하면 자동체크됨.
- * 예) class="required validate-digits validate-white-space"
- * 값 존재여부. 숫자만 입력됐는지 체크. 공백만 입력됐는지 체크. *validator.js에서 체크항목 확인
- * @param obj (jquery object)
- * @param value (jquery object value)
- */
-function fn_setInputFormat_default(obj){
- fn_setInputFormat(obj, obj.value);
-}
-function fn_setInputFormat(obj, value){
- var classVal = $(obj).attr("class");
- var classList = classVal.split(' ');
- for(i=0;i= 0) {
- var tmpArray = className.split("_");
- className = tmpArray[0];
- tmpArray.shift();
-
- if(tmpArray == null || tmpArray.length == 0) {
- param = "";
- } else if(tmpArray.length == 1) {
- param = tmpArray[0];
- } else {
- param = tmpArray;
- }
- }
-
- // 클래스명과 일치하는 메서드가 있으면...
- if(Validator[className]) {
- var message = Validator[className](el.value,el,param);
- // 오류가 있으면 메시지를 반환
- if(message) {
- Validator._handleError(message, el);
- return false;
- }
- }
- }
- }
- return true;
- },
-
- /**
- * 오류 제어
- * @param {String} message
- * @param {HTMLFormElement} el
- */
- _handleError : function(message, el) {
- var title = Validator._getTitle(el);
- if(title != "")
- alert(title +"(은)는 " + message);
- else
- alert(message);
- el.style.backgroundColor="#fdfde4";
- el.focus();
-
- },
-
- _getTitle : function (el) {
- if (el.title)
- return el.title;
- else
- return "";
- },
-
- // 필수입력(or선택)
- "required" : function(v,elm) {
- switch (elm.tagName) {
- case 'INPUT':
- var type = elm.type;
- if('checkbox'==type||'radio'==type){
- return validCheckboxOrRadio(v,elm);
- }
- else
- return validInput(v);
- break;
- case 'SELECT':
- return validSelectbox(v, elm);
- break;
- default:
- break;
- }
- //Input Tag
- function validInput(v){
- return !v ? "반드시 입력하셔야 합니다." : false;
- }
- //Checkbox or Radio Tag
- function validCheckboxOrRadio(v,elm) {
- var field_obj = document.getElementsByName(elm.name);
-// var field_obj = elm;
- if (field_obj.length > 1) {
- for (var idx = 0; idx < field_obj.length; idx++) {
- if (field_obj[idx].checked) return false;
- }
- } else {
- if (field_obj.checked) return false;
- }
- return "항목을 선택하셔야 합니다.";
- }
- //Selectbox Tag
- function validSelectbox(v, elm) {
- var field_obj = document.getElementById(elm.name);
-// var field_obj = elm;
-
- if(field_obj.options[field_obj.selectedIndex].value != "")
- return false;
- return "항목을 선택하셔야 합니다.";
- }
- },
- // white space 없이 입력
- "validate-white-space" : function(v) {
- return /\s+/.test(v) ? "공백없이 입력되야 합니다." : false;
- },
- // 숫자만 입력
- "validate-digits" : function(v) {
- return isNaN(v) || /[^\d]/.test(v)? "숫자만 입력하셔야 합니다." : false;
- },
- // 숫자와 하이픈(-)만 입력
- "validate-digits-" : function(v) {
- v = v.replace(/-/g, "");
- return isNaN(v) || /[^\d]/.test(v)? "숫자, 하이픈(-)만 입력하셔야 합니다." : false;
- },
- // 숫자와 포인트(.)만 입력
- "validate-digits-dot" : function(v) {
- v = v.replace(/\./g, "");
- return isNaN(v) || /[^\d]/.test(v)? "숫자, 포인트(.)만 입력하셔야 합니다." : false;
- },
- // 숫자와 콤마(,)만 입력
- "validate-digits-comma" : function(v) {
- v = v.replace(/\,/g, "");
- return isNaN(v) || /[^\d]/.test(v)? "숫자, 콤마(,)만 입력하셔야 합니다." : false;
- },
- // 숫자와 콤마(,),포인트(.)만 입력
- "validate-digits-comma-dot" : function(v) {
- v = v.replace(/\,\./g, "");
- return isNaN(v) || /[^\d]/.test(v)? "숫자, 콤마(,),포인트(.)만 입력하셔야 합니다." : false;
- },
- // 금액만 입력 가능(validate-digits-comma와 동일, 세자리콤마 자동추가 이벤트리스너 적용을 위해 추가 함)
- "validate-amount" : function(v) {
- v = v.replace(/\,/g, "");
- return isNaN(v) || /[^\d]/.test(v)? "숫자, 콤마(,)만 입력하셔야 합니다." : false;
- },
- // 아이디 형태 영문으로 시작하고 영문, 숫자, ., _ 를 사용
- "validate-id-format" : function(v){
- var ptrn1 = /^[^a-zA-Z]/; //false가 정상
- var ptrn2 = /[^a-zA-Z0-9._]/; //false가 정상 +
- return (ptrn1.test(v) || ptrn2.test(v)) ? "영문으로시작하고 영문(대소문자), 숫자, ., _ 만 입력 가능합니다." : false;
- },
- // 닉네임
- "validate-nickname-format" : function(v){
- var ptrn = /[^(가-힣a-zA-Z0-9)]/;
- return (ptrn.test(v)) ? "한글, 영문(대,소), 숫자만 입력 가능합니다." : false;
- },
- // 닉네임 + 스페이스 추가
- "validate-nickname-space-format" : function(v){
- var ptrn = /[^(가-힣a-zA-Z0-9\s+)]/;
- return (ptrn.test(v)) ? "한글, 영문(대,소), 숫자, 공백만 입력 가능합니다." : false;
- },
- // 차대번호
- "validate-vin-format" : function(v){
- var ptrn = /[^(A-Z0-9)]/;
- return (ptrn.test(v)) ? "영문(대문자), 숫자만 입력 가능합니다." : false;
- },
- // 영문으로 시작 입력
- "validate-alpha" : function(v) {
- return /[^a-zA-Z]+$/.test(v) ? "알파뱃으로 시작되도록 입력하셔야 합니다." : false;
- },
- // 영문, 숫자, _(언더바) 만 입력
- "validate-basic-char" : function(v) {
- return !/[a-zA-Z0-9_]/.test(v) ? "알파뱃, 숫자, 언더바(_)만 입력하셔야 합니다." : false;
- },
- // 영문과 숫자만 입력
- "validate-alpha-num" : function(v) {
- return /\W/.test(v) ? "알파뱃과 숫자만 입력하셔야 합니다." : false;
- },
- // 한글+ 숫자 조합만 입력
- "validate-kr-digits" : function(v){
- var ptrnKr = /[(가-힣)]/;
- var ptrnDigits = /[(0-9)]/;
- return (ptrnKr.test(v) && ptrnDigits.test(v)) ? false : "한글 + 숫자만 입력 가능합니다.";
- },
- // 날자 사용가능한 숫자 입력
- "validate-date" : function(v) {
- if("" != v){
- var date = new Date(v);
- return (isNaN(date.getFullYear()) || isNaN(date.getMonth()) || isNaN(date.getDate()) ) ? "올바른 날짜를 입력하셔야 합니다.(예 2001-01-01)" : false;
- }
- },
- // 유효한 email 입력
- "validate-email" : function(v) {
- if(v == "") return false;
- return !/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v) ? "바른 이메일 주소를 입력하셔야 합니다." : false;
- },
- // 유효한 URL 입력
- "validate-url" : function(v) {
- if(v) {
- return !/^(http|https|ftp):\/\/(([a-zA-Z0-9][a-zA-Z0-9_-]*)(\.[a-zA-Z0-9][a-zA-Z0-9_-]*)?)(:(\d+))?\/?/i.test(v) ? "http://또는https://를 포함한 바른 URL을 입력하셔야 합니다." : false;
- }
- return false;
- },
- // 유효한 주민번호 앞자리 검증
- "validate-front-jumin" : function(v) {
-
- if (/[^\d]/.test(v) || v.length !=6 || isNaN(v)) {
- return "숫자 6자리여야 합니다.";
- }
-
- return false ;
- },
- // 유요한 주민번호 뒷자리 검증
- "validate-back-jumin" : function(v) {
- var check_digit2;
-
- if (/[^\d]/.test(v) || v.length!=7 || isNaN(v)) {
- return "숫자 7자리여야 합니다.";
- }
-
- return false;
- },
- // 유효한 전체 주민번호 검증
- "validate-full-jumin" : function(v) {
-
- val = v.replace(/-/g, "");
-
- pin1 = val.substring(0,6);
- pin2 = val.substring(6,13);
-
- if (pin1.length!=6 || isNaN(pin1)) {
- return " 앞자리는 6자리 숫자여야 합니다.";
- }
-
- var a1=pin1.substring(0,1)
- var a2=pin1.substring(1,2)
- var a3=pin1.substring(2,3)
- var a4=pin1.substring(3,4)
- var a5=pin1.substring(4,5)
- var a6=pin1.substring(5,6)
-
- check_digit1 = a1*2 + a2*3 + a3*4 + a4*5 + a5*6 + a6*7;
-
- if (pin2.length!=7 || isNaN(pin2)) {
- return " 뒷자리는 7자리 숫자여야 합니다.";
- }
-
- var b1=pin2.substring(0,1)
- var b2=pin2.substring(1,2)
- var b3=pin2.substring(2,3)
- var b4=pin2.substring(3,4)
- var b5=pin2.substring(4,5)
- var b6=pin2.substring(5,6)
- var b7=pin2.substring(6,7)
-
- check_digit2 = check_digit1 + b1*8 + b2*9 + b3*2 + b4*3 + b5*4 + b6*5;
-
- check_digit2 = check_digit2 % 11
- check_digit2 = 11 - check_digit2
- check_digit2 = check_digit2 % 10
-
- if (check_digit2 != b7){
- return "유효하지 않는 주민등록번호입니다.";
- }
-
- return false;
- },
- // BYTE 단위로 최대 글자수를 제한
- "validate-max-length" : function(v, elm, length) {
- var maxSize = parseInt(length, 10);
- var len = 0;
- var str = v.substring(0);
- if(str == null) return "길이를 확인할 값이 없습니다.";
- for(var i=0; i len) {
- return "최소 "+minSize+" byte 를 입력 해야 합니다.";
- }
- return false;
- },
- // BYTE 단위로 범위내의 글자수를 체크
- "validate-limit-length" : function(v, elm, param) {
- if(param.length == 2) {
- var minSize = parseInt(param[0], 10);
- var maxSize = parseInt(param[1], 10);
- var len = 0;
- var str = v.substring(0);
- if(str == null) return "길이를 확인 할 값이 없습니다.";
- for(var i=0; i len || maxSize < len) {
- //return "최소 "+minSize+" byte 보다 같거나 크고, "+maxSize+" 보다 같거나 작아야 합니다.";
- return "최소 "+minSize+"자 이상, "+maxSize+"자 이하여야 합니다.";
- }
- } else {
- return "최소 값과 최대 값 두개의 배열 인자가 필요합니다.";
- }
-
- return false;
- },
- // 전화번호 유효성 체크 02-222-2222 형식 '-' 토큰으로 잘라서 검증함
- "validate-tel-num" : function(v, elm, param) {
- if(v) {
- val = v.replace(/-/g, "");
-
- if(isNaN(val)) {
- return "숫자, - 만 입력하셔야 합니다.";
- }
-
- var tmpArray = v.split("-");
- if(tmpArray.length != 3) {
- return "-를 포함하여 정확히 입력하셔야 합니다.";
- }
-
- for(i = 0; i < tmpArray.length; i++ ) {
- if(tmpArray[i] == "") return "정확히 입력하셔야 합니다.";
- if(tmpArray[i].length <2 || tmpArray[i].size >4) return "정확히 입력하셔야 합니다.";
- }
-
- }
-
- return false;
- },
- // 사업자번호 유효성 체크 000-00-00000 형식 '-' 토큰으로 잘라서 검증함
- "validate-biz-num" : function(v, elm, param) {
- if(v) {
- val = v.replace(/-/g, "");
-
- if(isNaN(val)) {
- return "숫자, - 만 입력하셔야 합니다.";
- }
-
- var tmpArray = v.split("-");
- if(tmpArray.length != 3) {
- return "-를 포함하여 정확히 입력하셔야 합니다.";
- }
-
- for(i = 0; i < tmpArray.length; i++ ) {
- if(tmpArray[i] == "") return "정확히 입력하셔야 합니다.";
- if(tmpArray[i].length <2 || tmpArray[i].size >5) return "정확히 입력하셔야 합니다.";
- }
-
- }
-
- return false;
- },
- // 웹상에서 사용가능한 이미지 파일 종류인지 확인한다. gif, jpg, png 만 인정함
- "validate-is-image" : function(v) {
- if(v) {
- var ext = "";
- if(v.indexOf(".") >= 0) {
- ext = v.substring(v.lastIndexOf(".")+1);
- ext = ext.toLowerCase();
- if(ext.length != 3 || !(ext == "gif" || ext == "jpg" || ext == "jpeg" || ext == "png" || ext == "bmp"))
- return "파일은 gif, jpg, png 파일만 등록을 하실수 있습니다.";
- } else {
- return "파일의 확장자가 없습니다.";
- }
- }
- return false;
- },
- "validate-ip" :function(v){
- if(v){
- var ip4Ptrn = /^((25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){2,3}[,]?)+$/;
- if(!ip4Ptrn.test(v)){
- return "아이피 형식이 아닙니다. x.x.x 또는 x.x.x.x 형식으로 입력해주세요.";
- }
- }
- return false;
- }
-
- }
\ No newline at end of file