2009-11-17 26 views
6

每當您在Django模板中使用{{form.field.errors}}標記時,顯示的驗證消息總是被一個無序列表標記包圍。這對我來說並不理想。我能夠修改周圍的驗證消息HTML從一個可重用的包的表單?自定義Django表單驗證的html輸出

+2

注意,無序列表具有類'errorlist',所以你可以使用CSS,你想樣式列表。 – Alasdair 2009-11-17 00:48:40

回答

8

從Django文檔約looping over a form's fields

{{ field.errors }}
輸出一個<ul class="errorlist">含有任何驗證錯誤 對應於該字段。您可以使用{% for error in field.errors %}循環定製 錯誤的演示文稿 循環。在這種情況下,循環中的每個對象 都是一個簡單的 字符串,其中包含錯誤消息。

因此,例如,包裝每個錯誤<p>標記你會做:

{% for error in field.errors %} 
    <p>{{ error|escape }}</p>  
{% endfor %} 
+0

它仍然輸出爲李,而他們只是字符串 – DataGreed 2012-09-29 18:25:52

+0

@DataGreed不根據我已經鏈接到上面的文檔:*在這種情況下,循環**中的每個對象是一個簡單的字符串**包含錯誤信息。 – Alasdair 2012-09-29 19:16:21

+0

其實你必須迭代form.non_field_errors得到字符串 – DataGreed 2012-09-29 20:01:36