{"version":3,"sources":["webpack:///./public/static/js/common.js","webpack:///./src/utils/helper/form-helper.js","webpack:///./src/mixins/FormMixin.js"],"names":["isEmptyObj","obj","prop","hasOwnProperty","JSON","stringify","isValid","properties","label","validate","required","msg","valid_required","indexOf","component_name","replace","undefined","patternNum","patternC","patternS","patternB","patternSpecial","patternEmail","value","josa","c","type","Number","min_length","format","max_length","min","max","search","length","msgVal","alpha_s","test","alpha_g","special","num","new_password","Array","isArray","methods","getParamData","formData","enable","params","some","item","toast","errorMsg","field","options","find","o","etc"],"mappings":"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","file":"js/chunk-966b9750.65e625bf.js","sourcesContent":["function find(item, key, val) {\r\n function findVal(item) {\r\n return item[key] === val;\r\n }\r\n return item.find(findVal);\r\n}\r\n\r\nfunction removeIndex(array, from, to) {\r\n let rest = array.slice((to || from) + 1 || array.length);\r\n array.length = from < 0 ? array.length + from : from;\r\n return array.push.apply(array, rest);\r\n}\r\n\r\nfunction isEmptyObj(obj) {\r\n for (var prop in obj) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (obj.hasOwnProperty(prop)) return false;\r\n }\r\n return JSON.stringify(obj) === JSON.stringify({});\r\n}\r\n\r\nexport { find, removeIndex, isEmptyObj };\r\n\r\n","import josa from \"josa-js\";\r\nimport { isEmptyObj } from \"../../../public/static/js/common\";\r\n\r\nfunction isValid(properties, label) {\r\n if(!properties.validate.required) {\r\n return '';\r\n }\r\n let msg = '';\r\n if (\r\n properties.validate.valid_required &&\r\n [\r\n \"text\",\r\n \"email\",\r\n \"number\",\r\n \"phone\",\r\n \"password\",\r\n \"editor\",\r\n \"number-unit\",\r\n \"dropdown\",\r\n ].indexOf(properties.component_name.replace(\"lp-\", \"\")) > -1\r\n ) {\r\n if (label === undefined || label === \"\") label = \"항목\";\r\n let patternNum = /[0-9]/; // 숫자\r\n let patternC = /[a-zA-Z]/; // 문자(대소문자)\r\n let patternS = /[a-z]/; // 소문자\r\n let patternB = /[A-Z]/; // 대문자\r\n let patternSpecial = /[~!@#$%^&*()_+|<>?:{}]/; // 특수문자\r\n let patternEmail = /[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(\\.[_0-9a-zA-Z-]+){1,2}$/; //이메일\r\n\r\n // 빈문자 일 경우\r\n if (properties.value === \"\") {\r\n msg = label + josa.c(label, \"을/를\") + \" 입력해주세요.\";\r\n }\r\n\r\n // 숫자인 경우\r\n else if (properties.type === \"number\") {\r\n properties.value = Number(properties.value);\r\n // if (properties.value === 0)\r\n // msg = label + josa.c(label, '을/를') + ' 입력해주세요.';\r\n\r\n if (properties.value < properties.validate.min_length)\r\n msg =\r\n label +\r\n josa.c(label, \"을/를\") +\r\n \" 최소 %d 이상 입력해주세요.\".format(properties.validate.min_length);\r\n else if (properties.value > properties.validate.max_length)\r\n msg =\r\n label +\r\n josa.c(label, \"을/를\") +\r\n \" 최대 %d 이하로 입력해주세요.\".format(\r\n properties.validate.max_length\r\n );\r\n else if (properties.value < properties.validate.min)\r\n msg =\r\n label +\r\n josa.c(label, \"을/를\") +\r\n \" 최소 %d 이상 입력해주세요.\".format(properties.validate.min);\r\n else if (properties.value > properties.validate.max)\r\n msg =\r\n label +\r\n josa.c(label, \"을/를\") +\r\n \" 최대 %d 이하로 입력해주세요.\".format(properties.validate.max);\r\n }\r\n\r\n // 텍스트인 경우\r\n else if (\r\n properties.type.search(\"text\") > -1 &&\r\n typeof properties.value === \"string\"\r\n ) {\r\n // if(properties.value === '')\r\n // msg = label + josa.c(label, '을/를') + ' 입력해주세요.';\r\n\r\n if (properties.value.length < properties.validate.min_length)\r\n msg = `(${properties.value.length}/${\r\n properties.validate.max_length\r\n }) ${label + josa.c(label, \"을/를\")} 최소 ${\r\n properties.validate.min_length\r\n }자 이상 입력해주세요.`;\r\n else if (properties.value.length > properties.validate.max_length)\r\n msg = `(${properties.value.length}/${\r\n properties.validate.max_length\r\n }) ${label + josa.c(label, \"을/를\")} 최대 ${\r\n properties.validate.max_length\r\n }자 이하로 입력해주세요.`;\r\n\r\n if (msg === \"\") {\r\n let msgVal = \"\";\r\n // 소문자 사용 안함\r\n if (\r\n properties.validate.alpha_s === false &&\r\n patternS.test(properties.value)\r\n )\r\n msgVal = \"알파벳 소문자\";\r\n\r\n // 대문자 사용 안함\r\n if (\r\n properties.validate.alpha_g === false &&\r\n patternB.test(properties.value)\r\n ) {\r\n if (msgVal !== \"\") msgVal += \", \";\r\n msgVal += \"알파벳 대문자\";\r\n }\r\n // 특수문자 사용 안함\r\n if (\r\n properties.validate.special === false &&\r\n patternSpecial.test(properties.value)\r\n ) {\r\n if (msgVal !== \"\") msgVal += \", \";\r\n msgVal += \"특수문자\";\r\n }\r\n\r\n // 숫자 사용 안함\r\n if (\r\n properties.validate.num === false &&\r\n patternNum.test(properties.value)\r\n ) {\r\n if (msgVal !== \"\") msgVal += \", \";\r\n msgVal += \"숫자\";\r\n }\r\n if (msgVal !== \"\" && msgVal !== undefined)\r\n msg = msgVal + \"는 사용할 수 없습니다.\";\r\n }\r\n }\r\n\r\n // email\r\n else if (\r\n properties.type === \"email\" &&\r\n !patternEmail.test(properties.value)\r\n ) {\r\n msg = \"올바른 이메일 형식이 아닙니다.\";\r\n }\r\n\r\n // 휴대폰번호\r\n else if (properties.type === \"phone\" && properties.value.length < 11) {\r\n msg = label + josa.c(label, \"을/를\") + \" 정확히 입력해주세요.\";\r\n } else if (properties.type === \"password\") {\r\n if (\r\n !patternC.test(properties.value) ||\r\n !patternNum.test(properties.value) ||\r\n properties.value.length < 4\r\n ) {\r\n msg = \"비밀번호는 4자리 이상 문자, 숫자로 구성되어야 합니다.\";\r\n }\r\n } else if (properties.type === \"password_new\") {\r\n if (\r\n !patternC.test(properties.new_password) ||\r\n !patternNum.test(properties.new_password) ||\r\n properties.new_password.length < 4\r\n ) {\r\n msg = \"비밀번호는 4자리 이상 문자, 숫자로 구성되어야 합니다.\";\r\n }\r\n }\r\n } else {\r\n if (properties.component_name === \"lp-drop-down\") {\r\n if (\r\n properties.validate.required &&\r\n (isEmptyObj(properties.value) || properties.value === \"\")\r\n ) {\r\n msg = label + \"\";\r\n }\r\n }\r\n // c-input-radiobuttonGroup\r\n else if (properties.component_name === \"lp-radio\") {\r\n if (\r\n properties.validate.required &&\r\n (properties.value === undefined || properties.value === \"\")\r\n ) {\r\n msg = label + \"\";\r\n }\r\n }\r\n // else if(properties.component_name === 'input-single-file') {\r\n\r\n // }\r\n }\r\n // validation 필수\r\n if (properties.validate.valid_required) {\r\n // 빈값 체크\r\n if (!properties.value || (Array.isArray(properties.value) && properties.value.length === 0)) {\r\n if(['imgs','files'].indexOf(properties.type)>-1) {\r\n msg = label + josa.c(label, '을/를') + ' 첨부해주세요.';\r\n }\r\n else if(properties.type === 'dropdown') {\r\n msg = label + josa.c(label, '을/를') + ' 선택해주세요.';\r\n } else if(properties.type === 'check') {\r\n msg = label + josa.c(label, '을/를') + ' 체크해주세요.';\r\n } else {\r\n msg = label + josa.c(label, '을/를') + ' 입력해주세요.';\r\n }\r\n }\r\n }\r\n\r\n return msg;\r\n}\r\n\r\nexport {\r\n isValid\r\n}\r\n","import { isValid } from '@/utils/helper/form-helper'\r\n\r\nexport default {\r\n methods: {\r\n // formdata의 value 값이 있을 경우 유효성 체크\r\n isValid(properties, label) {\r\n return isValid(properties, label);\r\n },\r\n getParamData(formData) {\r\n let enable = true;\r\n let params = {};\r\n let msg = '';\r\n formData.some(item=>{\r\n // 유효성 체크\r\n msg = this.isValid(item, item.label);\r\n if(msg) {\r\n enable = false;\r\n this.toast(msg);\r\n item.errorMsg = msg;\r\n return true;\r\n }\r\n if (item.field === \"funnel\") {\r\n params[item.field] = item.options.find(\r\n (o) => o.value === item.value\r\n ).label;\r\n if (params[item.field] === \"기타\") {\r\n params[item.field] = item.etc;\r\n }\r\n } else {\r\n params[item.field] = item.value;\r\n }\r\n\r\n if (params[item.field] === \"기타\" && item.etc) {\r\n params[item.field] = item.etc;\r\n } \r\n })\r\n return { 'enable': enable, 'params': params }\r\n }\r\n }\r\n}"],"sourceRoot":""}