Datetime Symfony2:为什么我的时间域不能在实时服务器上验证

Datetime Symfony2:为什么我的时间域不能在实时服务器上验证,datetime,symfony,Datetime,Symfony,我有以下表单字段(在formType中定义): 奇怪的事情:在我本地的开发机器上,当我输入一些时间(比如“09:33”)时,一切都像预期的那样工作。但是,在live server上,表单在保存时告诉我该值无效。有人能告诉我我做错了什么吗 single_text:呈现文本类型的单个输入。根据格式验证用户的输入 您没有指定默认为IntlDateFormatter::MEDIUM(:1952年1月12日)的格式选项 传递给IntlDateFormatter类的选项,用于将用户输入转换为正确的格式当wi

我有以下表单字段(在formType中定义):

奇怪的事情:在我本地的开发机器上,当我输入一些时间(比如“09:33”)时,一切都像预期的那样工作。但是,在live server上,表单在保存时告诉我该值无效。有人能告诉我我做错了什么吗

single_text
:呈现文本类型的单个输入。根据格式验证用户的输入

您没有指定默认为
IntlDateFormatter::MEDIUM
(:
1952年1月12日
)的
格式
选项

传递给
IntlDateFormatter
类的选项,用于将用户输入转换为正确的格式当widget选项设置为single_text时,这一点至关重要,它将定义用户输入数据的方式。默认情况下,格式根据当前用户区域设置确定;可以通过将格式作为字符串传递来覆盖它


也许您应该尝试设置
格式
选项,并比较本地计算机和生产服务器上的区域设置。

一个可能的原因是,在live server和dev计算机上,Intl没有配置相同的区域设置

默认情况下,Intl*格式化程序将使用
\Locale::getDefault()
值。您必须使用app/config/config.yml对其进行poperly配置,例如:

framework:
    default_locale: en

你清除缓存了吗?奇怪的是,在dev环境中没有出现相同的错误。我在测试时切换了默认的_语言环境,但忘了再次切换。由于区域设置是在登录时设置的,因此清除服务器上的缓存没有帮助。注销并登录!
framework:
    default_locale: en