Как я могу позволить Symfony FormComponent инициализировать DateTime с очень специфическим форматом? - PullRequest
1 голос
/ 23 октября 2019

Итак, у меня есть FormType с полем DateTimeType, например:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('startDate', DateTimeType::class, [
            'input' => 'datetime_immutable',
            'input_format' => 'Y-m-d\TH:i:s.uO'
        ])
    ;
}

И я надеялся, что если я отправлю startDate, который выглядит как "2019-01-01T00:00:00.000+0100", формакомпонент сможет заполнить мой DTO объектом DateTimeImmutable, инициализированным в правильном формате.

Однако вместо этого мое поле startDate всегда всегда будет null.

Что я делаю не так?

1 Ответ

0 голосов
/ 28 октября 2019

Хорошо, таким образом, решение в итоге было:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('startDate', DateTimeType::class, [
            'widget' => 'single_text',
            'input' => 'datetime_immutable',
            'format' => "yyyy-MM-dd'T'HH:mm:ss.SSSX",
        ])
    ;
}

Использование параметров формата с этой страницы:

http://userguide.icu -project.org / formatparse / datetime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...