Symfony2:如何检查表单是否是新的



我想检查我的模板中是否有新的表单,类似于symfony 1.4中的$form->isNew(),但我没有找到解决方案。

目前,我正在使用这种技术:

{% null != entity.getId %}

它有效,但是还有其他更干净的解决方案吗?

我使用这个:

{% if form.vars.submitted == false %}DO WHATEVER HERE{% endif %}

有关表单函数和变量的更多信息,请参阅此处:https://symfony.com/doc/current/reference/forms/twig_reference.html

Symfony2 表单与模型的耦合程度低于 symfony1 表单。Symfony2中的表单不能是"新的"或"旧的"。持久化的是实体,而不是表单。表单作业是将提交的数据放入模型对象。

请记住,模型类不必是教义实体(实际上可以是任何类的对象)。由您来定义对象是否是新的(持久化或不持久化)的含义。同样,它不是一种持久化的形式。

顺便说一句,您可以像这样检查 id:

{% if entity.id %}{% endif %}

现在更好的解决方案(SF3)将是:

{% if form.vars.data.id %}{% endif %}

最新更新