繁体   English   中英

symfony 形式:日期无效

[英]symfony form : Date is not valid

我将 symfony 与 fosrestBundle 一起使用。

我尝试更新一个实体。

我有一个带有“myDate”字段的 mysql 数据库,女巫是一个日期(不是日期时间)

当我得到我的实体时,我在 json 响应中有这个:

myDate:"2010-12-20T00:00:00+01:00"

当我更新我的实体时,我发送相同的数据。

在我朋友的电脑上,它可以工作,但在我的电脑上,我有这个错误:

{
  "code": 400,
  "message": "Validation Failed",
  "errors": {
    "children": {
      ...,
      "myDate": {
        "errors": [
          "Cette valeur n'est pas valide."
        ]
      }
    }
  }
}

在 FormType 构建器中,我有这个:

->add('myDate', 'date', [
    'widget' => 'single_text'
])

如果我用 DateTimeType::class 替换“日期”,我知道它会起作用,但我想知道的是为什么这对我的朋友而不是我有用?

感谢您的帮助

控制器需要表单中的日期对象; 如果您不使用转换器(有关 Symfony 转换器的更多信息 [此处][1])将表单数据从字符串转换为 Date 对象,则会引发错误。

你有两个选择:

1) 使用 Transformer 在 Controller 处理之前更改您的数据类型

或者:

2)将您的 FormBuilder“DateType”更改为“TextType”并删除所有日期选项(小部件)。

祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM