Symfony FOSREST API日期时间错误

问题描述 投票:0回答:1

我正在使用symfony 2.7,我创建了API,当我使用postman提交表单(json数据)时,它不接受datetime值。

表单生成器

->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": {}
                        }
                    }
                }
            },

如何使用Request指定dateTime值?

php rest symfony datetime nelmioapidocbundle
1个回答
1
投票

在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'))
© www.soinside.com 2019 - 2024. All rights reserved.