Dato un indirizzo di posta elettronica (es: [email protected]), come convalidare che il dominio ("esempio.com") sia incluso in un determinato elenco di domini. Se il dominio ("esempio.com") non si trova nell'elenco specificato, il modulo dovrebbe generare qualche tipo di errore.Come convalidare il dominio dell'indirizzo email nel modulo?
Questo è quello che ho finora in 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
Con questo codice, sto ottenendo l'errore " 'tipo' oggetto non ha attributo 'getitem'", che ripercorre la linea "raise forms.ValidationError [...]" nel mio codice.
Qualcuno può vedere cosa sto facendo male? Grazie per l'aiuto!
wow , Sono un idiota. Grazie! – goelv
@goelv: Si prega di accettare la risposta. – RanRag