验证器不能正常工作。 Django的

问题描述 投票:0回答:2

我正在尝试根据Django文档添加一个验证器到我的领域,但我无法得到效果,每次我都可以发送电子邮件,即使在该字段中没有“[email protected]”。

我是否必须在视图中添加任何其他代码行?任何帮助将不胜感激。

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 "[email protected]" not in data:
            raise forms.ValidationError("You have forgotten about Fred!")
django forms
2个回答
2
投票

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 "[email protected]" not in data:
        raise forms.ValidationError("You have forgotten about Fred!")

0
投票

如果要覆盖表单的clean方法,则需要为其指定与其清除的字段相同的名称。在这种情况下,您应该将方法命名为clean_e_mail

© www.soinside.com 2019 - 2024. All rights reserved.