내 블로그 목록

금요일, 9월 04, 2009

DB에 빈값이 들어오다니 ...

 
디비에 저장할 때 사용자 입력값에 대해 앞뒤공백을 없애는 trim(전송값) 을 주로 사용한다. 이는 사용자의 실수나 장난으로 공백을 넣는 것을 막자는 의도로 이렇게 할 때의 문제점으로 사용자가 장난으로 공백만 입력하면......

처리페이지에서 trim으로 앞뒤공백을 제거하게되면 결국 " " 에서 "" 으로 되어 아무것도 들어있지 않은 빈값이 되고 만다

유명한 상용사이트에서도 이런 일이 있는데 이는 게시판을 우습게 만들고 만다

이를 방지하고자 한다면 처리페이지에서 trim후 중요한 몇가지 값을 ""인지 점검하는 if문을 사용하면 되겟지만 그보다는 클라이언트 측에서 자바스크립트 입력값 체크함수에서 막아주는 게 훨씬 효율적이다 안그래도 서버는 바쁘니까....


//공백이 하나든 둘이든 공백만 입력하면 첫번째 문자가 공백이 분명할 것이다 따라서
//다음과 같이 첫번째 문자가 공백인지를 체크하면 된다
//물론 공백을 먼저 넣고 다른 문자를 입력할 사용자에겐 미안하지만


var vN = document.regform.Name.value;

if (vN == "" || vN.substring(vN,1) ==' ')
{
alert("이름을 입력하지 않았거나 공백으로 시작했습니다.\n");
document.regform.Name.focus();
return false;
}

출처: http://www.dragoneye.co.kr/column/boardupdate01.asp?table=table11&page=1&mid=33

댓글 없음: