我使用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
我用EN_US我的應用程序的語言環境。我怎樣才能配置Zend_Validate接受這種日期格式?例如,是否可以更改日期的區域設置格式?
非常感謝。我以前從未使用過單獨的Zend_Validate_X類。這是更可定製的。 – farzad 2009-09-08 08:33:47
雖然... YYYY是「ISO Year」(在年份開始時略有差異),而「DD」不是一個月中的某一天,您應該使用「yyyy-MM-dd」。 http://framework.zend.com/manual/en/zend.date.constants.html#zend.date.constants.selfdefinedformats.table – gnarf 2009-09-08 09:00:07
如果您在同一元素上有其他驗證器或自定義驗證器,建議您將這個驗證器添加爲第二個(或最後一個) – surfer190 2014-03-07 14:14:39