我希望你们能告诉我如何在forms.py中对单个字段使用验证方法。我的视图是generic.FormView
,我的表单是forms.Form
。这是我的观点:
class ClassSetupView(OrganisorAndLoginRequiredMixin, generic.FormView):
template_name = "leads/class_setup.html"
form_class = ClassSetupForm
def get_success_url(self):
return reverse("class-setup-sucess-page")
def form_valid(self, form):
# Some Other Code
return super(ClassSetupView, self).form_valid(form)
这是我的表格:
class ClassSetupForm(forms.Form):
date = forms.DateField(help_text="Year-01-01",)
clean_date(self):
date = self.cleaned_data['date']
if date < datetime.date.today():
raise ValidationError(_('Invalid date - renewal in past'))
return date
我希望你们能告诉我,是否可以使用表单的clean_date(self)
来验证字段date
。我在网上看到了几个例子,但我不确定clean_date(self)
是否适用于我的案例。非常感谢。
使用干净的方法进行验证是可以的。查看django官方文档:https://docs.djangoproject.com/en/3.2/ref/forms/validation/#cleaning-a-特定字段属性