2009-09-08 3 views
2

Zend_Validate::is($value,'Date')을 사용하여 YYYY-MM-DD 형식의 사용자 입력 날짜 문자열의 유효성을 검사합니다.en_US 로케일에서 Zend_Validate_Date로 YYYY-MM-DD 형식의 문자열 유효성 검사

Zend_Validate::is() 
Zend_Validate_Date->isValid() 
Zend_Date::isDate() 
Zend_Locale_Format::getDate() 
Zend_Locale_Format::_parseDate() 

마지막으로,이 예외와 함께 실패합니다 :

Zend_Locale_Exception: Unable to parse date '2009-09-08' using 'MMM d, y' (M <> y) in /usr/share/php/Zend/Locale/Format.php on line 1001 

내 응용 프로그램 로케일로 ko 페이지를 사용하고

이 호출은이 계층 구조를 만듭니다. 이 날짜 형식을 받아들이도록 Zend_Validate를 어떻게 설정할 수 있습니까? 예를 들어, 날짜의 로켈 형식을 변경할 수 있습니까? 당신이 yyyy-MM-dd 형식을 다음 지정할 때,

$validator = new Zend_Validate_Date('YYYY-MM-DD'); 
if($validator->isValid($value)) 
    // yay 

답변

9

는 것을보십시오

+0

감사합니다. 전에는 Zend_Validate_X 클래스를 사용하지 않았습니다. 이것은 더 사용자 정의 할 수 있습니다. – farzad

+9

그래도 ''yyyy-MM-dd ''를 사용해야합니다 ... YYYY는 "ISO Year"(올해의 시작일 근처에서 약간 다름)이고 "DD"는 아닌 요일입니다. http://framework.zend.com/manual/en/zend.date.constants.html#zend.date.constants.selfdefinedformats.table – gnarf

+0

동일한 요소에 다른 유효성 검사기 또는 사용자 정의 유효성 검사기가있는 경우 권장 할 만합니다. 이 유효성 검사기를 두 번째 (또는 마지막)로 추가하려면 – surfer190

5

zend_validate_date 버그를 가지고 날짜 문자열 2011-10-11 12312가 검증을 위해 전달되는 경우, 대신 거짓의 true를 돌려! :

+4

이것은 원래 질문과 관련이없는 것 같습니다 ... –

+0

이 버그에 관한 모든 업데이트는 나도 마찬가지입니다. –