2012-11-28 57 views
3

我正在執行一些更多的驗證fater主窗體已驗證。 我使用基於類的觀點如何重定向形式無效從django中的form_valid功能

def form_valid(self, request, *args, **kwargs): 
    some custom logic 
    if(false) 
    Here i want to return to form invalid page with my custom message 

我處理的文件中form_valid和多數民衆贊成了,我需要檢查多個驗證許多步驟。所以我不想將所有的邏輯移動到另一個功能

回答

7

你不應該在form_valid做驗證。以Form.cleanForm.clean_FOO的形式進行。請參閱Django documentation on form validation

如果你堅持你的致殘的代碼庫,那麼請嘗試以下操作:

def form_valid(self, request, *args, **kwargs): 
    is_actually_valid = some_custom_logic() 
    if not is_actually_valid: 
     return self.form_invalid(request, *args, **kwargs) 
+0

,這是我確定,但有沒有辦法做我問 – user825904

+0

@ USER32更新您的要求的答案。 –

+0

感謝兄弟,我知道你不會很高興,但是這樣做。任何方式來傳遞一些錯誤信息 – user825904