如何在 Symfony 表单中创建不需要的 DateIntervalType 字段

How to make a DateIntervalType field in Symfony form not required

我有一个 DateIntervalType 字段:

    $builder
        ->add('effort', DateIntervalType::class, [
            'label' => false,
            'required' => false,
            'widget' => 'integer',
            'input' => 'dateinterval',
            'with_years' => false,
            'with_months' => false,
            'with_days' => false,
            'with_hours' => true,
            'with_minutes' => true,
        ]);

如果我提交表格,我会收到错误消息,指出如果我将小时和分钟留空,表格将无效。我对实体属性没有任何约束(没有 @Assert\NotBlank() 或类似的东西)并且它可以为空:

class Template
{
    /**
     * @ORM\Column(type="dateinterval", nullable=true)
     */
     private $effort;

    // ...
}

提交的值为:

"effort" => [▼
    "hours" => ""
    "minutes" => ""
]

我想提交没有值的表单并且不会出现此错误。

如果将 widgetinteger 更改为 text,则不会出现错误:

$builder
    ->add('effort', DateIntervalType::class, [
        // ...
        'widget' => 'text',
        // ...
    ]);