2010-10-02 104 views
0

我正在嘗試創建表單。這裏是我的表單類:django表格錯誤未顯示

class RegisterForm(forms.Form): 
login=forms.CharField(min_length=5,max_length=15) 
password=forms.CharField(min_length=5,max_length=15,widget=forms.PasswordInput) 
passwordConfirmation=forms.CharField(min_length=5,max_length=15,label="Re enter password",widget=forms.PasswordInput) 
email=forms.EmailField(min_length=5,max_length=20) 
question=forms.CharField(min_length=8,max_length=20,label="Security question") 
answer=forms.CharField(min_length=5,max_length=20,widget=forms.PasswordInput) 
answerConfirmation=forms.CharField(min_length=5,max_length=20,label="Re enter answer",widget=forms.PasswordInput)' 

,現在我已經tamplate如下:

{% if form.login.errors %} 
{{ form.login.errors }} 
{% endif %} 
{{ form.login }}<label for="login">Enter desired login</label><br /> 

等等我僅僅只form.name等改變爲一個從形式類。 而當我填寫表單不正確我沒有得到任何錯誤或沒有什麼只是空白的形式。我犯了什麼錯誤? THX求助 編輯: 對不起,我忘了在這裏展示我的功能就是它

def register(request): 
if request.method == 'POST': 
    form=RegisterForm(request.POST) 
    if form.is_valid(): 
     return HttpResponseRedirect('/thanks/register') 
    else: 
     form = RegisterForm(auto_id=False) 
     return render_to_response('misc/register.html',locals(),context_instance=RequestContext(request)) 
else: 
    form=RegisterForm(auto_id=False) 
    return render_to_response('misc/register.html',locals(),context_instance=RequestContext(request)) 
+0

您是否在表單上調用了is_valid? – 2010-10-02 15:19:55

回答

1

您已經在第一個else子句中重新聲明瞭表單,因此您已覆蓋了這些錯誤。完全放棄其他條款,將最後一行退回一個縮進,以便在公司無效時捕捉該案例。

2
form = RegisterForm(auto_id=False) 

在此行中要創建新的空白表單和所有驗證錯誤都將丟失。評論一下。

+0

好吧,丹尼爾,弗拉基米爾求助,現在它的工作完美。非常感謝你。 – John 2010-10-02 17:18:03