在 en_US 语言环境中使用 Zend_Validate_Date 验证 YYYY-MM-DD 格式的字符串
我正在使用 Zend_Validate::is($value,'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 接受此日期格式?例如,是否可以更改日期的区域设置格式?
I'm validating a user-entered date string in YYYY-MM-DD
format using Zend_Validate::is($value,'Date')
.
This call creates this hierarchy:
Zend_Validate::is()
Zend_Validate_Date->isValid()
Zend_Date::isDate()
Zend_Locale_Format::getDate()
Zend_Locale_Format::_parseDate()
Finally, it fails with this exception:
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
I'm using en_US as my application locale. How can I configure Zend_Validate to accept this date format? Is it possible to change the locale format of the date, for example?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试一下:
Try that:
当您指定以下
yyyy-MM-dd
格式并且传递日期字符串2011-10-11 12312
时,zend_validate_date
有一个错误对于验证,它返回 true 而不是 false!zend_validate_date
has a bug , when you specify followingyyyy-MM-dd
format and if a date string2011-10-11 12312
is passed on for validation, it returns true instead of false !!