2010-01-19 3 views
4

숫자/통화 전용 텍스트 상자 컨트롤을 갖고 싶습니다.텍스트 상자의 번호 만 유효성 검사/생성하는 가장 좋은 방법은 무엇입니까?

그래서 기본적으로 입력

 
$123 
523,100 
$12.50 
85.59 

의이 종류를 수용하고

 
123 
523100 
12.50 
85.59 

이 변환 내가 유효성 검사기 컨트롤 살펴 보았다

 
F12 
309$2342 
,102 

이 입력을 허용하지 말아야 하지만 난이 변환/클라이언트 측에서 완전히 확인하고 싶습니다. 이 일을하는 가장 좋은 방법은 무엇입니까?

잘못된 데이터를 입력하고 잘못된 데이터를 텍스트 상자에 남기지 않으려 고하면 클라이언트 측 오류 (메시지 상자 또는 무언가)가 표시되기를 바랍니다. 텍스트 상자의 초점을 벗어나면 자동으로 데이터를 클라이언트 측의 플랫 번호로 변환합니다.

어떻게 시작하나요? ASP.Net에서 저에게 도움이 될만한 것이 있습니까? 그냥 onfocus 이벤트를 사용하거나 javascript에서 어떤 이벤트를 사용하여이 유효성을 검사해야합니까? 나는 Javascript에서 오히려 경험이 없다. .. 이것이 조금 멍청한 것이라면 사과한다.

그리고 그래, 나 또한 당신은 값이 숫자가 각 키 입력 후, 있는지 확인하기 위해 isNaN()를 사용하여 텍스트 상자 내에서 값을 확인하는 시도 할 수있는 서버 측

+5

전적으로 클라이언트 쪽 유효성 검사에만 의존하지는 않겠지 만 인스턴트 사용자 피드백을 제공하는 것이 좋지만 처리하기 전에 데이터가 정규화되었는지는 확인하지 않는 것이 좋습니다. – neo

+0

물론 그렇습니다. 물론 기본적으로 'float.parse' 타입의 타입 일 것입니다. 만약 실패한다면, 어플리케이션은 죽습니다. 서버 측에서 사용자 입력을 확인하지 않는 것은 어리석은 일입니다. – Earlz

답변

0

가 클라이언트 측 유효성 검사에 의존하는 보안 위험은 특정 입력을 거부해야하는 경우.

사이트에서 MS Ajax를 사용하는 경우 MaskedEditExtender 또는 FilteredTextBox을 사용할 수 있습니다. 그렇지 않으면 jQuery와 함께 사용하기 위해 클라이언트 유효성 검사를 수행 할 수있는 훌륭한 javascript가 많이 있습니다.

서버 측에서 유효성 검사를 무시하면 안됩니다.

관련 문제