/*------------------------------------------------------------------------------ * 1. ÆÄÀϸí: valid.form.js * 2. ¼³ ¸í: Form ¿ä¼Ò ó¸®¿Í °ü·ÃµÈ ÇÔ¼ö¸¦ Á¤ÀÇÇÑ´Ù. * 3. ÀÇÁ¸¼º: valid.base.js, valid.number.js, * valid.date.js, valid.biz.js * 4. ÀÛ¼ºÀÚ: * 5. ÀÛ¼ºÀÏ: 2006.10.11. -----------------------------------------------------------------------------*/ /** * Input °´Ã¼ÀÇ °ªÀÌ Select °´Ã¼ÀÇ value Ç׸ñ¿¡ ÀÖ´Â °ªÀÎÁö * °Ë»çÇÏ¿© ÀÖÀ¸¸é true¸¦ µ¹·Á ÁÖ°í, ¾øÀ¸¸é ¿À·ù ¸Þ¼¼Áö¸¦ º¸¿©ÁÖ°í * Focus¸¦ inputObj¿¡ ÁØ ´ÙÀ½ false¸¦ µ¹·Á ÁØ´Ù. * ´Ü Input °´Ã¼ÀÇ °ªÀÌ ¾øÀ¸¸é ±×³É Åë°úÇÑ´Ù. */ function validateExistsInSelect(inputObj, selectObj) { inputObj = ref(inputObj ); // IDÀÏ °æ¿ì¸¦ ´ëºñÇØ¼­ selectObj = ref(selectObj); // IDÀÏ °æ¿ì¸¦ ´ëºñÇØ¼­ if ( isEmptyObj(inputObj) ) { if ( event ) event.returnValue = true; return true; } var valid = true; /* Select Ç׸ñ¿¡ Input Ç׸ñÀÇ °ªÀÌ ÀÖ´ÂÁö °Ë»çÇÑ´Ù. */ if ( indexOfSelect(selectObj, inputObj.value) == -1 ) { showMessage(inputObj.value + " °ªÀº ¼±ÅÃÇÒ ¸ñ·Ï Áß¿¡ ¾ø´Â °ªÀÔ´Ï´Ù. È®ÀÎÇØ ÁֽʽÿÀ."); inputObj.focus(); inputObj.select(); valid = false; } if ( event ) event.returnValue = valid; return valid; } /** * ÁÖ¾îÁø Form ¿ä¼Ò¿¡ ´ëÇÑ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ function validateForm(form) { var elemArr = form.elements; /* ¿ä¼Ò ¼ö¸¸Å­ µ¹¸é¼­ °¢ ¿ä¼ÒµéÀ» °ËÁõÇÑ´Ù. */ for ( var i = 0; i < elemArr.length; i++ ) { var elem = elemArr[i]; /* ¿ä¼Ò°¡ disabled, readonly, typeÀÌ hidden ÀÎ °æ¿ì´Â À¯È¿¼º °ËÁõ¿¡¼­ Á¦¿ÜÇÑ´Ù. */ if ( elem.disabled || elem.readOnly || elem.type == "hidden" ) continue; /* Á¡°Ë ¿ä¼Ò °ªµéÀ» °¡Á®¿Â´Ù. */ var fieldName = elem.getAttribute("valid.label"); // Á¡°ËÇ׸ñ¸í. ¾øÀ¸¸é name °ª »ç¿ë. if ( isEmpty(fieldName) ) fieldName = elem.getAttribute("name"); /* Çʼö ¿©ºÎ Á¡°Ë Ç׸ñÀ̸é Á¡°ËÇÑ´Ù. */ var required = isEmpty(elem.getAttribute("valid.required")) ? false : elem.getAttribute("valid.required").toUpperCase() == "TRUE"; // ÇʼöÇ׸ñ Á¡°Ë ¿©ºÎ if ( required && ! validateMandatoryObj(elem, fieldName) ) return false; /* ÀÚ·áÇü °ªÀÌ ÀÖÀ¸¸é ÀÚ·áÇü¿¡ ´ëÇØ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ var dataType = elem.getAttribute("valid.type"); // ÀÚ·áÇü. ¾øÀ¸¸é null. if ( ! isEmpty(dataType) && ! validateDataType(elem, fieldName, dataType) ) return false; /* ±æÀÌ¿¡ ´ëÇÑ °ªÀÌ ÀÖÀ¸¸é À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. ÀÏ´Ü ÁÖ¾îÁø ±æÀÌ ÀÌÇÏ byteÀÎÁö¸¸ °Ë»ç. */ var validLength = elem.getAttribute("valid.length"); if ( ! isEmpty(validLength) && ! validateLengthLEObj(elem, validLength, fieldName) ) return false; /* ¼öÄ¡ÀÇ ÀÚ¸´¼ö¿¡ ´ëÇÑ °ªÀÌ ÀÖÀ¸¸é À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ var figure = elem.getAttribute("valid.figure"); if ( ! isEmpty(figure) ) { var figureArr = figure.split(","); if ( ! validateNoFigureLEObj( elem, fieldName, parseInt(figureArr[0], 10), parseInt(figureArr[1], 10) ) ) return false; } /* ÃÖ¼Ò°ªÀÌ ÀÖÀ¸¸é À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ var minValue = elem.getAttribute("valid.min"); if ( ! isEmpty(minValue) && ! validateNoGEObj(elem, fieldName, minValue) ) return false; /* ÃÖ´ë°ªÀÌ ÀÖÀ¸¸é À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ var maxValue = elem.getAttribute("valid.max"); if ( ! isEmpty(maxValue) && ! validateNoLEObj(elem, fieldName, maxValue) ) return false; /* ±âŸ À¯È¿¼º °ËÁõ ÇÔ¼ö°¡ ÀÖÀ¸¸é È£ÃâÇÑ´Ù. */ var validFunc = elem.getAttribute("valid.func"); if ( ! isEmpty(validFunc) && ! eval(validFunc).call(this, elem, fieldName) ) return false; } /* ¿©±â±îÁö ¿ÔÀ¸¸é ÀÌ»ó ¾øÀ½. */ return true; } /* ÀÚ·áÇü¿¡ ´ëÇÑ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù. */ function validateDataType(elem, fieldName, dataType) { dataType = dataType.toLowerCase(); var valid = true; switch ( dataType ) { case "date" : // ÀÏÀÚ valid = validateDateObj(elem, fieldName); break; case "term" : // ±â°£ var rearDateName = elem.getAttribute("valid.rearDate"); // ¾Õ ÀÏÀÚ Ç׸ñÀ» ±¸ÇÑ´Ù. var allowSameDate = isEmpty(elem.getAttribute("valid.allowSameDate")) || elem.getAttribute("valid.allowSameDate").toUpperCase == "TRUE"; if ( isEmpty(rearDateName) ) { showMessage("±â°£(term)À» °ËÁõÇϱâ À§Çؼ­´Â ¾Õ ÀÏÀÚ ÀÔ·Â Ç׸ñ(valid.rearDate)ÀÌ Á¤ÀǵǾî¾ß ÇÕ´Ï´Ù."); valid = false; } else { var rearDateObj = eval("this.form." + rearDateName); valid = validateTermObj(rearDateObj, elem, fieldName, allowSameDate); } break; case "int" : break; //validateNoObj, case "float" : break; //validateNoObj, case "telno" : // ÀüÈ­¹øÈ£, ÆÑ½º¹øÈ£ valid = validateTelNoObj(elem, fieldName); break; case "hpno" : // ÇÚµåÆù¹øÈ£ valid = validateHpNoObj(elem, fieldName); break; case "email" : // Email valid = validateEmailObj(elem, fieldName); break; } return valid; }