폼체크 함수

 


함수

/*====================
#function
 form_check() //지정된 폼을 지정된 체크리스트로 체크한 후 서브밋한다.
#argument
 form : 해당 폼
 check_list : 체크리스트: 객체형 스킨 안의 default.js 참고
#return
 ture : 체크완료
 false : 체크 실패
*/
function form_check(form,check_list){
// if(!check_list){return true;}
 if(!form){alert("<form>이 지정되지 않았습니다");return false;}
 var el = null;
 var sl = null;
 var ta = null
 var label = '';
 for(x in check_list){
  sl = check_list[x];
  el = form[x];
  ta = (sl['target'])?form[sl['target']]:el;
  label = (sl['label'])?sl['label']:x;
  if(!el){alert("["+x+"]라는 개체가 없습니다.");return false;}
  else if(sl['req']==true && !el.value){alert("["+label+"] 요소는 필수요소입니다");ta.focus();return false;}
  else if(sl['minlength'] && el.value.length < sl['minlength']){alert("["+label+"]의 최소길이는 "+sl['minlength']+"이상입니다");ta.focus();return false;}
  else if(sl['maxlength'] && el.value.length > sl['maxlength']){alert("["+label+"]의 최대길이는 "+sl['maxlength']+"이하입니다");ta.focus();return false;}  
 }
 if(!form_check_upload(form)){return false;}
 return true;
}
/*====================
#function
 form_check_upload() //지정된 폼에서 업로드를 시도하는지 체크
#argument
 form : 해당 폼
#return
 true : 업로드를 안하거나, 업로드 경고에서 확인을 선택함
 false : 업로드 경고에서 취소를 선택함
*/
function form_check_upload(form){
 var els = form.elements;
 for(i=0,m=els.length;i<m;i++){
  if(els[i].type=='file'){
   if(els[i].value.length>2){
    return confirm('첨부파일이 업로드됩니다.\n용량이 큰 첨부파일은 시간이 오래 걸릴 수도 있습니다.\n업로드하시겠습니까?');
   }
  }
 }
 return true;
}


데이터

/*=====
폼안의 내용을 체크하기 위한것
#valiable
 check_list
#content 
"b_category":{ //input값의 name
 "label":"카테고리", //한글이름 ,지정안하면 input값의 name
 "req":true, //필수요소인가?
 "minlength":0, //최소길이
 "maxlength":200, //최대길이
 "target":"b_title" //대신 포커스를 가게할 타겟이름(지정안하면 자기자신), 같은 form안에 있어야함
 }
#etc
 등록된 순서대로 체크를합니다.
*/
var check_list = {
 "b_title":{"label":"제목","req":true,"minlength":2,"maxlength":60},
 "b_name":{"label":"이름","req":true,"minlength":1,"maxlength":10},
 "b_pass":{"label":"비밀번호","req":true,"minlength":4,"maxlength":10},
 "b_category":{"label":"카테고리","req":true,"minlength":0}
}


사용법

if(form_check(document.form,check_list)){
alert("체크 통과");
}else{
alert("체크 실패");
}

 

 

 

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자