在Symfony表单中,我有:
->add('fechalimite', DateType::class, [
'format' => 'dMMMMyyyy',
'data' => new \DateTime(),
])
打开表单,我今天的日期是fechalimite字段:2018年12月15日。我可以更改字段,例如。 2018年12月28日,我没有任何问题地提交了数据库更改。
问题来了,编辑表格。当我编辑字段时,请输入今天的日期,而不是2018年12月28日。
我正在寻找不保留在编辑模式下的默认数据。
如何解决?
答案 0 :(得分:1)
您可以使用您的实体构造函数来设置默认值,如下所示:
class YourEntity {
private $fechalimite;
public function __construct()
{
$this->fechalimite = new \DateTime();
}
}
这将在您创建新实体时设置默认值。
答案 1 :(得分:0)
我找到了区分创建和编辑的解决方案:
$formMapper;
if ($this->isCurrentRoute('create')) {
$formMapper
->add('fechalimite', DateType::class, [
'format' => 'dMMMMyyyy',
'data' => new \DateTime(),
])
;
} else {
$formMapper
->add('fechalimite', DateType::class, [
'format' => 'dMMMMyyyy',
])
;
}