我想检查我的模板中的表单是否是新的,例如 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 %}