[英]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.