验证基于 Class 的视图的表单
Validating Form for Class-based view
我希望你们能告诉我如何在我的 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-specific-field-attribute
我希望你们能告诉我如何在我的 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-specific-field-attribute