symfony2:如何检查表单是否是新的?

时间:2012-09-29 21:52:49

标签: symfony twig

我想检查一下我的模板中是否有新的表单,例如symfony 1.4中的$ form-> isNew(),但我找不到解决方案。

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

{% null != entity.getId %}

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

3 个答案:

答案 0 :(得分:2)

与symfony1形式相比,Symfony2形式与模型的耦合较少。 Symfony2中的表单不能是“新”或“旧”。它是持久化的实体,而不是形式。表单作业是将提交的数据放入模型对象。

请记住,模型类不必是一个教义实体(可以是任何类的对象)。由您来定义对象是新对象是什么意思(持久性或不持久性)。同样,它不是一种持久的形式。

顺便说一下,你可以检查这样的id:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

我用这个:

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

表单函数和变量中的更多信息: https://symfony.com/doc/current/reference/forms/twig_reference.html