使用 django 验证带有引发错误的表单
Validate form with raise errors with django
我正在尝试验证一个表单,用户无法通过该表单发送联系信息,为此,我有:
class ActualizarCotizacionForm(ModelForm):
def __init__(self, *args, **kwargs):
super(ActualizarCotizacionForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
field.widget.attrs['class'] = 'form-control'
self.fields['proposal'].widget.attrs['rows'] = '4'
self.fields['deliverable'].widget.attrs['rows'] = '4'
class Meta():
model = AffiliateQuote
fields = ['proposal','deliverable','delivery_time','fee']
def clean(self):
data = self.cleaned_data['proposal']
if "311" in data:
raise forms.ValidationError("You cant send phone numbers through the form")
return data
在模板中,我在字段 proposal
上方有这一行:{{form.proposal.errors.as_text}}
我在这里放的验证“311”只是为了举例,但是有了这个,我无法让它工作,我在 proposal
字段中写了“311”,但错误没有显示,如何我能做到吗?
我们把这个验证放在clean_proposal
方法中,例如:
def clean_proposal(self):
data = self.cleaned_data['proposal']
if "311" in data:
raise forms.ValidationError("You cant send phone numbers through the form")
return data
我正在尝试验证一个表单,用户无法通过该表单发送联系信息,为此,我有:
class ActualizarCotizacionForm(ModelForm):
def __init__(self, *args, **kwargs):
super(ActualizarCotizacionForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
field.widget.attrs['class'] = 'form-control'
self.fields['proposal'].widget.attrs['rows'] = '4'
self.fields['deliverable'].widget.attrs['rows'] = '4'
class Meta():
model = AffiliateQuote
fields = ['proposal','deliverable','delivery_time','fee']
def clean(self):
data = self.cleaned_data['proposal']
if "311" in data:
raise forms.ValidationError("You cant send phone numbers through the form")
return data
在模板中,我在字段 proposal
上方有这一行:{{form.proposal.errors.as_text}}
我在这里放的验证“311”只是为了举例,但是有了这个,我无法让它工作,我在 proposal
字段中写了“311”,但错误没有显示,如何我能做到吗?
我们把这个验证放在clean_proposal
方法中,例如:
def clean_proposal(self):
data = self.cleaned_data['proposal']
if "311" in data:
raise forms.ValidationError("You cant send phone numbers through the form")
return data