我想确保用户在重定向到下一页之前填写所有字段。如果他们没有填写字段,则应该提示错误,告诉他们在填写字段之前填写字段。为此,我编写了下面的代码。但是我面临的问题是,当我没有填充字段时,它将我带到下一页,而不是将它返回到同一页面,并且没有引发任何错误。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