class ContactForm(forms.Form):
topic = forms.ChoiceField(choices=TOPIC_CHOICES)
message = forms.CharField(widget=forms.Textarea())
sender = forms.EmailField(required=False)
def clean_message(self):
message = self.cleaned_data.get('message', '')
num_words = len(message.split())
if num_words < 4:
raise forms.ValidationError("Not enough words!")
return message
“Этот новый метод будет вызываться после стандартной проверки (в этом случае, после проверки для типа CharField).”
поясните пожалуйста, в каком месте программного кода вызывается clean_message? Ведь нигде в коде нету ссылки на ее вызов?
P.S. Или позвольте пофантазировать в forms.Form реализована проверка наличия методов типа clean_message и при их существовании в классе (в рассматриваемом случае ContactForm) будет произведен вызов данного метода?