我在我的表單中使用clean_fieldname
方法來驗證數據。django中的星號形式驗證消息
我使用{{field.errors.as_text}}
向模板輸出錯誤。每個錯誤消息在其開始處都有一個星號(「*」符號)。有沒有任何方法輸出驗證信息而不用星號?
(不,我不包括星號我自己,我只是raise ValidationError(u'text')
從clean
法)
我在我的表單中使用clean_fieldname
方法來驗證數據。django中的星號形式驗證消息
我使用{{field.errors.as_text}}
向模板輸出錯誤。每個錯誤消息在其開始處都有一個星號(「*」符號)。有沒有任何方法輸出驗證信息而不用星號?
(不,我不包括星號我自己,我只是raise ValidationError(u'text')
從clean
法)
所以,我不得不遍歷錯誤,並打印出來,而不as_text()
的星號時打印as_text場失誤增加。有關更多詳細信息,請參見django/forms/util.py ErrorList。如果您將它們打印爲as_ul,則更容易定製錯誤。 ul將被授予一個「錯誤列表」類。 Django書籍有一個關於自定義表單錯誤的章節。第7章 「自定義表單設計」 下:http://www.djangobook.com/en/2.0/chapter07/
另一種方式:
{{ form.username.errors.as_text|cut:"* " }}
如果錯誤消息包含'*'(asterix +空格)之間的某個地方,這也會將其刪除。沒有模板過濾器只能從左側刪除字符嗎? – Medorator 2014-06-08 11:29:02
+1,造型的UL與CSS是採取的方法。我唯一的更正是指向更新的文檔:http://www.djangobook.com/zh/2.0/chapter07/(請參閱自定義表單設計) – cethegeek 2010-01-14 15:41:57
更新了Django書籍信息。感謝您指出了這一點。 – 2010-01-14 15:55:27
我通常不需要造型,我通常需要通過XML傳輸錯誤並將其顯示給用戶。 – DataGreed 2010-01-17 22:19:15