2014-10-08 3 views
0

GWT를 사용하여 날짜의 유효성을 검사하려고합니다. 대부분의 경우, 아래의 코드를 사용하여 올바르게 작동합니다DateTimeFormat 날짜 유효성 검사 오류

10/35/2014 15/25/2014 104/15/2014 10/500/2014

: 예를 들어

boolean valid = true; 
    try{ 
     DateTimeFormat.getFormat(DATE_FORMAT).parseStrict(value); 
    } catch (Exception e) { 
     valid = false; 
    } 
return valid; 

모두 오류를 반환합니다.

오전 데 문제는이 경우에 발생합니다

  • 10/20/20144

DateTimeObject가 유효한 년으로 20,144 인식합니다. 그러나 이것을 SQL 데이터베이스에 삽입하면 오류가 발생합니다. 어쨌든 DateTimeFormat을 변경하여 올해도 오류가 발생합니까? 또는 주위에 어떤 유형의 작업 ??

도움을 주시면 감사하겠습니다.

편집 :

나는이 문제를 두 가지 방법으로 해결할 수 있었다.

  1. 분할은 원래 문자열과 올해의 체크 길이는 날짜 12/31/3999를 생성하고 구문 분석 날짜가이 날짜 이전 것을 확인에만 4 자

  2. 입니다.

감사

+0

날짜의 길이를 확인할 수 있습니다. 또는 문자열을 분리하고 연도의 길이를 확인하십시오. 또는 날짜를 구문 분석 한 후 연도를 확인하십시오. –

+0

나는 그것을 분석 한 후 일년을 체크하는 것에 대해 생각했다 ... 나는 그런 바보이다. -_- – ola

+0

실수는 만들어졌다. #Yoda –

답변

1

20,144 유효한 년입니다. 곧 그렇게되지는 않겠지 만 그렇게 될 것입니다. 가장 쉬운 해결책은 허용하는 최대 연도를 제한하는 것입니다. 9999 (maximum year in Microsoft SQL)이거나 프로젝트 요구 사항에 따라 더 가까운 것일 수 있습니다.