首页 > 解决方案 > 如何删除 Symfony 表单 Collection 的空日期时间条目?(delete_emply 不工作)

问题描述

我正在使用带有日期时间条目集合的 Symfony 表单。提交表单时,如何从集合中删除空的日期时间条目?

我已将delete_empty设置为true,但它不起作用。我正在努力遵循文档说明(https://symfony.com/doc/current/reference/forms/types/collection.html#delete-empty),但我一定在某处遗漏了一些东西。我还尝试了falseempty_datanull所需的选项。我应该写一个可调用的来检查日期时间是否为空吗?如果是这样,如何检查日期时间是否为空?

这是我的表单构建器代码:

$form = $this->createFormBuilder($event)
            ->add('datetimes', CollectionType::class, [
                'entry_type' => DateTimeType::class,
                'entry_options' => [
                    'date_widget' => 'single_text',
                    'input' => 'string',
                    'time_widget' => 'single_text',
                    'html5' => false,
                    'required' => false,
                    'empty_data' => null,
                ],
                'label' => false,
                'allow_add' => true,
                'allow_delete' => true,
                'prototype' => false,
                'delete_empty' => true
            ])
            ->add('submit', SubmitType::class)
            ->getForm();

有人可以告诉我我在这里错过了什么或做错了什么吗?

标签: phpformssymfonydatetimecollections

解决方案


推荐阅读