참조할만한 자바스크립트
유효성Check
if( !validation(validatorObject_ME_EST0030_03, 'ME_EST0030_03') ){
return false;
} else {
doAction("returnPopup")
}
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;
}