Podając adres e-mail (np. [email protected]), w jaki sposób sprawdzić, czy domena ("example.com") znajduje się na podanej liście domen. Jeśli domena ("example.com") nie znajduje się na podanej liście, formularz powinien wywołać pewien błąd.Jak zweryfikować domenę adresu e-mail w formularzu?
To, co mam tak daleko w forms.py
class UserCreationFormExtended(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ("username", "email", "password1", "password2",)
def clean_email(self):
data = self.cleaned_data['email']
domain = data.split('@')[1]
domain_list = ["gmail.com", "yahoo.com", "hotmail.com",]
if domain not in domain_list:
raise forms.ValidationError["Please enter an Email Address with a valid domain"]
return data
def save(self, commit=True):
user = super(UserCreationFormExtended, self).save(commit=False)
user.email = self.cleaned_data["email"]
if commit:
user.save()
return user
Z tego kodu, otrzymuję błąd „«typ»obiekt ma bez atrybutu«GetItem»”, który śledzi do linia "raise forms.ValidationError [...]" w moim kodzie.
Czy ktoś może zobaczyć, co robię źle? Dzięki za pomoc!
wow , Jestem idiotą. Dzięki! – goelv
@goelv: Proszę przyjąć odpowiedź. – RanRag