Валидаторы не работают так, как должны.Джанго - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь добавить валидатор в соответствии с документацией Django к моему полю, но не могу получить эффект, каждый раз, когда я могу отправлять электронную почту, даже если в поле нет "fred@example.com".

Нужно ли добавлять какие-либо дополнительные строки кода в представление?любая помощь будет оценена.

class EmailContactForm(forms.Form):
    e_mail = forms.EmailField()
    tresc_wiadomosci = forms.CharField(widget=forms.Textarea)

    def clean_recipients(self):
        data = self.cleaned_data['e_mail']
        if "fred@example.com" not in data:
            raise forms.ValidationError("You have forgotten about Fred!")

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

изменить clean_recipients на clean_e_mail

class EmailContactForm(forms.Form):
e_mail = forms.EmailField()
tresc_wiadomosci = forms.CharField(widget=forms.Textarea)

def clean_e_mail(self):
    data = self.cleaned_data['e_mail']
    if "fred@example.com" not in data:
        raise forms.ValidationError("You have forgotten about Fred!")
0 голосов
/ 18 февраля 2019

Если вы хотите переопределить метод clean формы, вам нужно дать ему то же имя, что и у очищаемого поля.В этом случае вам следует назвать свой метод clean_e_mail.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...