【问题标题】:Symfony FOSREST API Datetime ErrorSymfony FOSREST API 日期时间错误
【发布时间】:2017-12-21 06:11:50
【问题描述】:

我使用的是 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 值?

【问题讨论】:

    标签: php rest symfony datetime nelmioapidocbundle


    【解决方案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'))
    

    【讨论】:

    • 它现在可以工作了......谢谢......只是你的回答中有一个错字,witget=>widget :)
    • 对不起。错字已修复:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    相关资源
    最近更新 更多