2016-01-23 29 views
4

除了直接附加到表單字段的表單字段特定的錯誤消息,我想在窗體包含錯誤的窗體上方顯示一條消息。如何檢查表單是否有錯誤?

如果表單有錯誤,我該如何檢查Symfony3樹枝模板?有used to be something like this in Symfony2

{% if form.get('errors') is not empty %} 
    <div class="error">Your form has errors. Please check fields below.</div> 
{% endif %} 

但是這在Symfony3中不起作用。有任何想法嗎? (form.vars.errors不起作用。)

回答

13

使用form.vars.errors

{% if form.vars.errors is not empty %} 
    {# ... #} 
{% endif %} 

注意!請注意,如果您的根窗體出現錯誤(或者如果子窗體有錯誤並允許將錯誤冒泡到根窗體),則只需評估爲true。如果表單中的常規子元素有錯誤,則不會評估爲空!

所以valid變量可能是最合適的:

{% if not form.vars.valid %} 
    {# ... errors ! #} 
{% endif %} 
+0

'form.vars.errors不empty'總是'FALSE',不起作用。但'不form.vars.valid'起作用。謝謝! –

+0

@GottliebNotschnabel如果答案適合您,請將其標記爲已接受,以便其他人可以輕鬆找到解決方案。 –

+0

是的。但是imho'form.vars.error'總是空的。所以這是行不通的,你能適應你的答案嗎? –

相關問題