폼체크 함수

 


함수

/*====================
#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}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1