首页 > 解决方案 > Symfony 4 - Flatpickr 解析日期

问题描述

在我的 Symfony 4 项目中,我将 flatpickr 插件用于日期时间。https://flatpickr.js.org/

所以在我的 formType 中,我的日期字段是文本格式:

->add('date', TextType::class, [
    'label' => "Date de la mission",
    'attr'=> [
        'placeholder' => "Date de la mission"
    ],
])

但在我的实体中,这是一个日期时间。

那么,如何在提交之前解析它以给出 datetime ?因为在视图中,它是一个字符串。我看到了这个:https ://flatpickr.js.org/instance-methods-properties-elements/#useful-static-methods

但是我不明白我该如何应用它......

目前,我已经:

<script>
    $("#ordre_mission_date").flatpickr({
        enableTime: true,
        dateFormat: "d/m/Y H:i",
        locale: "fr",
        time_24hr: true,
    });
</script>

有人能帮助我吗 ?

标签: phpsymfonydatetimeparsingflatpickr

解决方案


您需要更改date字段定义。代替TextType, 使用 DateTimeType:

->add('date', DateTimeType::class, [
    'label' => "Date de la mission",
    'widget' => 'single_text',
    'attr'=> [
        'placeholder' => "Date de la mission"
    ],
])

该行'widget' => 'single_text'会将 DateTime 字段呈现为单个<input type="text"/>,允许您使用插件。


推荐阅读