diff options
| -rw-r--r-- | CHANGELOG.rst | 1 | ||||
| -rw-r--r-- | ihatemoney/forms.py | 7 | ||||
| -rw-r--r-- | requirements.txt | 1 |
3 files changed, 7 insertions, 2 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 382e889..7947b1a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,7 @@ Fixed - Fix the generation of the supervisord template (#309) - Fix the validation of the hashed password (#310) - Fix infinite loop that happened when accessing / (#358) +- Fix email validation when sending invites Added ===== diff --git a/ihatemoney/forms.py b/ihatemoney/forms.py index 3966891..de9004d 100644 --- a/ihatemoney/forms.py +++ b/ihatemoney/forms.py @@ -10,6 +10,8 @@ from werkzeug.security import generate_password_hash from datetime import datetime from jinja2 import Markup +import email_validator + from ihatemoney.models import Project, Person from ihatemoney.utils import slugify @@ -184,9 +186,10 @@ class InviteForm(FlaskForm): submit = SubmitField(_("Send invites")) def validate_emails(form, field): - validator = Email() for email in [email.strip() for email in form.emails.data.split(",")]: - if not validator.regex.match(email): + try: + email_validator.validate_email(email) + except email_validator.EmailNotValidError as e: raise ValidationError(_("The email %(email)s is not valid", email=email)) diff --git a/requirements.txt b/requirements.txt index c2fe534..964d7fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,3 +11,4 @@ raven blinker six>=1.10 itsdangerous>=0.24 +email_validator>=1.0 |
