我的表单上有一个时间字段,其中widget被设置为'single_text'。
我的美国用户需要12小时上午/下午格式。
http://symfony.com/doc/current/reference/forms/types/time.html#widget
虽然它并不完全明显,但它接受下午2:15的输入,但如果表单由于另一个字段的验证错误而返回,或者稍后打开以编辑现有记录,那么它显示14:15当然是正确的但可能是令人反感的。
如何让它在下午2:15显示?我没有看到这样做的选择。
答案 0 :(得分:2)
嗯,事实证明这比应该更难。问题是Time表单类型不允许您指定类似Date表单类型的格式,它使用的格式是H:i。是的,24小时格式: - (
因此,唯一的解决方案是构建自己的使用h:i格式的表单类型。您可以在此处找到有关如何构建自己的表单类型的说明:
http://symfony.com/doc/2.1/cookbook/form/create_custom_field_type.html
然后,您可以使用时间表单类型作为表单类型的基础,只需更改其使用的格式。时间表格类型可以在这里找到:
/Symfony/Component/Form/Extension/Core/Type/TimeType.php