문서의 이전 판입니다!
function validation(validObj, selector) { var isValidated = true; if (validObj !== undefined && validObj !== null) { $.each(validObj, function(key1, value1) { var labelValue = null; var validationMsg = null; var keyObj = $("div[dataProvider='" + selector + "']>table>tbody>tr>td>[name='" + key1 + "']"); if (keyObj[0] === undefined || keyObj[0] === null) return true; var thisIdx = keyObj.parent().index(); if (thisIdx > 0) { var arr = keyObj.parent().parent().children(); labelValue = $(arr[thisIdx - 1]).children('label').text() } if (labelValue == null || labelValue == "") labelValue = key1; var fieldValue = getFieldValue(keyObj); $.each(value1, function(key2, value2) { if (key2 == "mandatory" && value2 == "true") { if (fieldValue === undefined || fieldValue === null || fieldValue === "") { validationMsg = labelValue + "은(는) 필수입니다."; return isValidated = false; } } if (key2 == "minLength" && value2 !== null && value2 !== "") { if (fieldValue !== undefined && fieldValue !== null) { var valueLength = fieldValue.length; if (valueLength < value2) { validationMsg = labelValue + "의 길이는 " + value2 + "자리 이상이어야 합니다."; return isValidated = false; } } } if (key2 == "maxLength" && value2 !== null && value2 !== "") { if (fieldValue !== undefined && fieldValue !== null) { var valueLength = fieldValue.length; if (valueLength > value2) { validationMsg = labelValue + "의 길이는 " + value2 + "자리를 초과할수 없습니다."; return isValidated = false; } } } if (key2 == "dateComparison" && value2 !== null && value2 !== "" && $.isArray(value2)) { var staYmdSelector = value2[0], endYmdSelector = value2[1]; validationMsg = dateComparison($(staYmdSelector).val(), $(endYmdSelector).val()) if(validationMsg != null && validationMsg != "") return isValidated = false; } }); if (!isValidated) { alert(validationMsg); keyObj.focus(); return isValidated; } }); } return isValidated; }