Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #12027 -- Fixed EmailValidator to reject a trailing dot.

Thanks Klas H for the report and claudep for the patch.
  • Loading branch information...
commit 4cfbde71a33973cb8c8da406b2523dfc742358e7 1 parent efb0597
@timgraham timgraham authored
Showing with 2 additions and 1 deletion.
  1. +1 −1  django/core/validators.py
  2. +1 −0  tests/validators/tests.py
View
2  django/core/validators.py
@@ -89,7 +89,7 @@ class EmailValidator(object):
r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-\011\013\014\016-\177])*"$)', # quoted-string
re.IGNORECASE)
domain_regex = re.compile(
- r'(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}|[A-Z0-9-]{2,})\.?$' # domain
+ r'(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}|[A-Z0-9-]{2,})$' # domain
# literal form, ipv4 address (SMTP 4.1.3)
r'|^\[(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\]$',
re.IGNORECASE)
View
1  tests/validators/tests.py
@@ -56,6 +56,7 @@
# Quoted-string format (CR not allowed)
(validate_email, '"\\\011"@here.com', None),
(validate_email, '"\\\012"@here.com', ValidationError),
+ (validate_email, 'trailingdot@shouldfail.com.', ValidationError),
(validate_slug, 'slug-ok', None),
(validate_slug, 'longer-slug-still-ok', None),
Please sign in to comment.
Something went wrong with that request. Please try again.