0

EmailHistory次のようなフィールドの1つで呼び出されたモデルがあります。

from_email = models.EmailField(verbose_name="From:")

ModelFormを作成しましたが、「匿名」に設定されていない限り、メールアドレスを検証したいと思います。私は無駄に次のことを試みました。

class EmailForm(ModelForm):
    class Meta:
        model = EmailHistory
        exclude = ('to_email')

    to_emails = forms.CharField()

    def clean_from_email(self):

        from_email = self.cleaned_data['from_email']
        if from_email == "Anonymous":
            return from_email
        else:
            return super(EmailForm, self).clean_from_email();
4

2 に答える 2

0

問題は、ドキュメントで説明されているようcleanに、基になるフォーム フィールドのメソッド (バリデーターを実行するclean_form_fieldメソッド) が、フォーム自体の特定のメソッドの前に実行されることだと思います。おそらく、フォームで通常の CharField を使用し、電子メール検証を自分で clean メソッドに追加することをお勧めします。

于 2011-02-13T11:07:39.560 に答える