2

我正在YYYY-MM-DD使用格式验证用户输入的日期字符串Zend_Validate::is($value,'Date')

此调用创建此层次结构:

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 以接受这种日期格式?例如,是否可以更改日期的区域设置格式?

4

2 回答 2

9

试试看:

$validator = new Zend_Validate_Date('YYYY-MM-DD');
if($validator->isValid($value))
    // yay
于 2009-09-08T08:14:38.290 回答
5

zend_validate_date有一个错误,当您指定以下yyyy-MM-dd格式并且2011-10-11 12312传递日期字符串进行验证时,它返回 true 而不是 false !

于 2011-11-24T05:20:22.310 回答