Symfony FOSREST API日期时间错误

时间:2017-12-21 06:11:51

标签: php rest symfony datetime nelmioapidocbundle

我正在使用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": {}
                        }
                    }
                }
            },

如何使用Request指定dateTime值?

1 个答案:

答案 0 :(得分: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'))