Symfony FOSREST API 日期时间错误

Symfony FOSREST API Datetime Error

我正在使用 symfony 2.7,我创建了 API,当我使用邮递员提交表单(json 数据)时,它不接受日期时间值。

表单生成器

->add('letAt','datetime')

命令

    /**
     * @var DateTime
     * @Assert\NotNull(message="Please enter let at time.")
     */
    protected $letAt;

实体

/**
 * @var \DateTime
 * @ORM\Column(type="datetime", nullable=true)
 */
protected $letAt;

请求Json

{
"property_type":
    {
        "marketingTitle": "",
        "letAt": "2018-11-11 10:10:10"
    }
}

错误

"errors": {
        "children": {
            "marketingTitle": {},
            "letAt": {
                "errors": [
                    "This value is not valid."
                ],
                "children": {
                    "date": {
                        "children": {
                            "year": {},
                            "month": {},
                            "day": {}
                        }
                    },
                    "time": {
                        "children": {
                            "hour": {},
                            "minute": {}
                        }
                    }
                }
            },

如何使用请求指定日期时间值?

在 Symfony 2.7 中,默认的 datetime 格式是 \DateTimeType::HTML5_FORMAT,它的值是 yyyy-MM-dd'T'HH:mm:ssZZZZZ

您可以这样指定您的格式类型:

->add('letAt','datetime', array('format' => 'yyyy-MM-dd  HH:mm:ss', 'widget' => 'single_text'))