php - 如何在 Symfony 2 表单中验证日期时间格式 "yyyy-MM-ddTHH:mm:ss.sssZ"

标签 php symfony date datetime symfony-forms

你们中有人知道如何以 Symfony 形式验证“yyyy-MM-ddTHH:mm:ss.sssZ”(ISO 8601)格式的日期时间吗?

我的表单类型:

    /**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('Name', 'text')

        ->add('Summary', 'textarea')

        ->add('Objective', 'text')

        ->add('Target_Date', 'date', array(
            'widget' => 'single_text',
            'input' => 'datetime',
            'format' => 'yyyy-MM-ddTHH:mm:ss.sssZ',
            ))

        ->add('Type', 'text')

        ->add('Members', 'text', array('mapped'=>false));
    }

从 AngluarJS 到 Symfony api 的 POST

Target_Date:“2015-04-01T22:00:48.131Z”

但我得到:Target_Date:该值无效。

谢谢!

最佳答案

我找到了解决方案。我刚刚将“日期”更改为“日期时间”,将“yyyy-MM-ddTHH:mm:ss.sssZ”更改为“yyyy-MM-dd'T'HH:mm:ss.SSS”。见下文:

    /**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('Name', 'text')

        ->add('Summary', 'textarea')

        ->add('Objective', 'text')

        ->add('Target_Date', 'datetime', array(
            'widget' => 'single_text',
            'input' => 'datetime',
            'format' => "yyyy-MM-dd'T'HH:mm:ss.SSS",
            ))

        ->add('Type', 'text')

        ->add('Members', 'text', array('mapped'=>false));
    }

感谢大家的帮助!!

关于php - 如何在 Symfony 2 表单中验证日期时间格式 "yyyy-MM-ddTHH:mm:ss.sssZ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283552/

相关文章:

php - Symfony 5 & EasyAdmin 3.0 - 找不到/admin 路由

java - 如何使用 Spring 在特定日期执行方法?

date - iCalendar 格式 (Outlook 2007)

c# - 在C#中生成日期

php - 我的 CodeIgniter 项目没有在 WAMP 服务器上运行

php - 使用 cpulimit 和 PHP 减少 FFmpeg CPU 使用率

php - 在 Gmail API 上使用刷新 token 。跟踪旧 key

PHP 无法从数据库下载上传的文件,因为使用中文文件名上传

php - 在新服务器上部署 Symfony3 时遇到问题

交响乐 2 : Static function [JMSTranslation]