var Validator = {
validateElement : function(formName, elName) {
var el = $("form[name="+formName+"] *[name="+elName+"]");
var classGroup = el.attr("class");
if(classGroup) {
var classes = classGroup.split(" ");
var comment = el.attr("comment");
for(var i=0 ; i< classes.length ; i++) {
var className = classes[i];
if(Validator[className]) {
var msg = Validator[className](el.val());
if(msg) {
Validator._handleError(msg, comment);
return false;
}
}
}
}
return true;
},
validateForm : function(formName) {
var result = true;
$("form[name="+formName+"] *").each(function() {
var classGroup = $(this).attr("class");
if(classGroup) {
var classes = classGroup.split(" ");
var comment = $(this).attr("comment");
for(var i=0 ; i < classes.length ; i++) {
var className = classes[i];
if(Validator[className]) {
var msg = Validator[className]($(this).val());
if(msg) {
Validator._handleError(msg, comment);
result = false;
return false;
}
}
}
}
});
return result;
},
_handleError : function(msg, comment) {
alert(comment+" 는(은) "+msg);
},
trim : function(str)
{
var count = str.length;
var len = count;
var st = 0;
while ((st < len) && (str.charAt(st) <= ' '))
{
st++;
}
while ((st < len) && (str.charAt(len - 1) <= ' '))
{
len--;
}
return ((st > 0) || (len < count)) ? str.substring(st, len) : str ;
},
"required" : function(value) {
if(!Validator.trim(value).length) {
return "필수 입력 사항입니다";
}
},
"alpha-lower" : function(value) {
var pattern = new RegExp("^[a-z]{6,18}$");
if(!pattern.exec(Validator.trim(value))) {
return "소문자만 입력 가능합니다 (6~18 글자)";
}
},
"alpha-upper" : function(value) {
var pattern = new RegExp("^[A-Z]{6,18}$");
if(!pattern.exec(Validator.trim(value))) {
return "대문자만 입력 가능합니다 (6~18 글자)";
}
},
"email" : function(value) {
var pattern = new RegExp("^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$");
if(!pattern.exec(Validator.trim(value))) {
return "이메일 형식에 맞지 않습니다";
}
},
"mobile" : function(value) {
var pattern = new RegExp("^01([0-9])-([0-9]{3,4})-([0-9]{4,4})$");
if(!pattern.exec(Validator.trim(value))) {
return "핸드폰 번호 형식에 맞지 않습니다";
}
}
};
유효성 검사 모듈..
사용법은 유효성검사가 필요한 엘리먼트에 class 추가 후
script 에서 validateForm 또는 validateElement 호출하면 된다.
댓글 없음:
댓글 쓰기