Bei einer E-Mail-Adresse (z. B. [email protected]) kann ich bestätigen, dass die Domain ("example.com") in einer bestimmten Liste von Domains enthalten ist. Wenn die Domäne ("example.com") nicht in der angegebenen Liste enthalten ist, sollte das Formular einen Fehler verursachen.Wie validiere ich die Domäne der E-Mail-Adresse im Formular?
Dies ist, was ich forms.py in
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
Mit diesem Code so weit, ich bin den Fehler bekommen „‚Typ‘Objekt hat kein Attribut‚getitem‘“, die auf den Spuren Zeile "raise forms.ValidationError [...]" in meinem Code.
Kann jemand sehen, was ich falsch mache? Danke für die Hilfe!
wow , Ich bin ein Idiot. Vielen Dank! – goelv
@goelv: Bitte akzeptieren Sie die Antwort. – RanRag