2009-08-12 7 views
1

내 asp.net mvc 프로그램에서 사용자는 하나의 필드에 날짜를 입력하고 다른 필드에 시간을 입력합니다. 시간은 24 시간 모드이므로 사용자는 00:00 - 23:59를 입력 할 수 있으며 날짜는 일반적인 mm/dd/yyyy 여야합니다.날짜와 시간을 확인하는 가장 좋은 방법은 무엇입니까

클라이언트 측에서 javascript/jquery/masked 입력 또는 mvc 컨트롤러에서 C# 입력과 같이 입력의 유효성을 검사하는 데 사용할 수있는 모든 다른 옵션을 사용하여 어떤 방법이 가장 적합한 지 파악하기 어렵습니다.

아무에게도 제안이나 조언이 있습니까?

답변

9

항상 항상 서버 쪽입니다. 클라이언트 측 유효성 검사는 선택 사항입니다.

단순한 스니퍼/주입 도구를 사용하여 클라이언트 측 유효성 검사 통과가 서버 측에 도달 할 수있는 실제 데이터를 나타내지 않는다는 점을 기억하십시오.

0

데이터베이스를 사용하는 경우 매개 변수가있는 쿼리 나 저장 프로 시저를 사용하여 데이터 유효성 검사를 수행해야합니다. 잠재적 SQL 인젝션을 도와줍니다.

양쪽 끝에서 유효성을 검사해야하지만 클라이언트에서 수행하는 작업에 관계없이 서버에서 유효성을 검사하는 것이 중요합니다. 클라이언트 유효성 검사는 "가지고있는 것이 좋으며"사용자 상호 작용 및 흐름을 돕습니다.

3

둘 다 사용하십시오! 클라이언트 측 및 서버 유효성 검사는 구현하기가 쉽습니다.

  • 클라이언트 측 유효성 검사는 사용자 환경을 개선합니다. 아무도 "우리 서버는 당신이 외국인과 같은 날짜를하지 않는다"와 같은 것을 말하기 위해 완료된 포스트 백을 기다리는 것을 좋아하지 않습니다.

  • 서버 측 유효성 검사는 시스템을 보호합니다. 서버에서 조작 된 요청으로 인한 SQL 주입 공격을 원하지 않습니다. 사용자 경험을 위해 이것을 사용하지 마십시오. 이것은 순전히 시스템을 보호하고 자바 스크립트가 비활성화 된 사용자를 지원하기 위해 존재합니다. - 그리고 사용자의 경험이 무엇인지 신경 쓰는 편입니다.

멋진 클라이언트 측 라이브러리가있어서 어색하게 쉽게 만들 수 있습니다. 내가 가장 좋아하는 것은 jquery validation plugin이지만 http://www.livevalidation.com/도 꽤 좋습니다.

1

MVC 1 용 xVal 또는 MVC 2 용 DataAnnotations 용 내장형 지원과 같은 유효성 검사 프레임 워크를 사용하는 것이 좋습니다. 이는 일관된 방식으로 서버 및 클라이언트 측 유효성 검사를 생성합니다.

0

두 가지 모두 서버쪽에 중점을두고 있습니다. 때로 사람들이 자바 스크립트를 차단하거나 이전 오류로 인해 유효성 검사 스크립트를 실행할 수없는 경우가 있습니다.

서버에서 DateTime.Parse 또는 더 나은 DateTime.TryParse를 수행하십시오.

관련 문제