?
注意:默认值与表单传入是有区别的,区别在于,如果仅仅传入默认值,是没有绑定的。
?
7. 自定义校验规则
?
例如我们需要添加 message 字段有一个额外的校验,我们就要摘forms类中添加 clean_message() 方法
?
例子:添加校验 messge中的单词数量(注意不是字母数量,看 split() )要不少于4个.
?
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
email = forms.EmailField(required=False)
message = forms.CharField(widget=forms.Textarea)
def clean_message(self):
message = self.cleaned_data['message']
num_words = len(message.split())
if num_words < 4:
raise forms.ValidationError(Not enough words!)
return message
?
?
?
?
Contact us
{% if form.errors %}Please correct the error{{ form.errors|pluralize }} below.
{% endif %}