Fix MultiEmailField to use validate_email for validation

- Legacy-Id: 6835
This commit is contained in:
Ole Laursen 2013-12-07 12:54:24 +00:00
parent 58afa08edf
commit f6fa699992

View file

@ -1,6 +1,5 @@
from django import forms
from django.forms.util import ValidationError
from django.core.validators import email_re
from django.core.validators import validate_email, ValidationError
class MultiEmailField(forms.CharField):
@ -8,15 +7,17 @@ class MultiEmailField(forms.CharField):
def clean(self, value):
super(MultiEmailField, self).clean(value)
if value:
if value.endswith(','):
value = value[:-1]
emails = map(unicode.strip, value.split(','))
else:
if not value:
return value
if value.endswith(','):
value = value[:-1]
emails = [v.strip() for v in value.split(',') if v.strip()]
for email in emails:
if not email_re.match(email):
try:
validate_email(email)
except ValidationError:
raise ValidationError("This is not a valid comma separated email list.")
return value