我想確保用戶在重定向到下一頁之前填寫所有字段。如果他們沒有填寫字段,則應該提示錯誤,告訴他們在填寫字段之前填寫字段。爲此,我編寫了下面的代碼。但是我面臨的問題是,當我沒有填充字段時,它將我帶到下一頁,而不是將它返回到同一頁面,並且沒有引發任何錯誤。Django ModelForm驗證不起作用
如何在使用戶進入下一頁之前驗證這些字段?
模型
from django.core.exceptions import ValidationError
class Memb(models.Model):
slug=models.CharField(max_length=100)
member=models.CharField(max_length=100)
def __unicode__(self):
return self.member, self.slug
def clean_slug(self):
data=self.cleaned_data['slug']
if "Testy" not in data:
raise ValidationError("Enter the correct name for this field")
class MembForm(ModelForm):
class Meta:
model=Memb
fields=('slug','member')
查看
def my_memb(request):
if request.method=="POST":
form=MembForm(request.POST)
if form.is_valid():
data=form.cleaned_data
form.save()
return HttpResponseRedirect('/good/')
else:
form=MembForm()
return render_to_response('member.html',{'MembForm':MembForm}, context_instance=RequestContext(request))
模板
{% block content %}
<form action="" method="POST">
{{MembForm.as_p}}
<input type="submit" value="Add"/>
</form>
{% endblock %}
非常感謝你們!它正在工作。萬分感激! – picomon 2012-04-18 07:33:14