0
我利用了這些內置的Django表單,並且遇到了一個小問題。如何爲內置表單自定義Django表單驗證錯誤?
- 類AdminPasswordChangeForm
- 類AuthenticationForm
- 類PasswordChangeForm
- 類PasswordResetForm
- 類SetPasswordForm
- 類UserChangeForm
- 類UserCreationForm
例如,UserCreationForm
會生成幾個驗證錯誤,我可以使用標記(例如{{ form.errors }}
)或者甚至與特定字段相關的標記(如{{ form.username.errors }}
)在我的模板中顯示這些錯誤。
我知道如何自定義這些錯誤消息的樣式,但我如何定製文本?我已經能夠簡單地檢查一個條件語句是否存在錯誤,如{% if form.password.errors %}
,並將我自己的自定義文本放在該塊中。然而,這讓我對所引發的錯誤類型視而不見。
例如,我希望能夠識別觸發的錯誤是duplicate_username
還是password_mismatch
,因此我可以在模板中編寫自己的錯誤。
任何幫助,將不勝感激!
這是一個額外的檢查?或者,在原始形式的子類中添加乾淨的方法是否覆蓋/替換現有的清潔方法? –
它會覆蓋它。所以你可以複製現有的驗證方法並添加你自己的定製邏輯。不是超級幹,但完成了工作。 – super9
不知道我是否誤解了一些東西,但我只是嘗試創建'UserCreationForm'和'AuthenticationForm'的子類,並且原始邏輯仍然完全存在。它只會改變,如果我創建具有相同名稱的函數來替換原來的函數。 –