From 50a289d05fba760716287d582c7ea19edd1159cc Mon Sep 17 00:00:00 2001 From: Erik Romijn Date: Fri, 16 May 2014 15:40:52 +0200 Subject: [PATCH] [1.6.x] Fixed #22579 -- Corrected validation for email to reject trailing slash Backport of 424fe76349a2e34eafef13c2450a7a1f4d3115a6 from master. --- django/core/validators.py | 4 ++-- tests/validators/tests.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/django/core/validators.py b/django/core/validators.py index 78716ccd40..378da27498 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -42,7 +42,7 @@ class RegexValidator(object): class URLValidator(RegexValidator): regex = re.compile( r'^(?:http|ftp)s?://' # http:// or https:// - 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,}(?', ValidationError), @@ -153,6 +154,7 @@ TEST_DATA = ( (URLValidator(), 'http://.com', ValidationError), (URLValidator(), 'http://invalid-.com', ValidationError), (URLValidator(), 'http://-invalid.com', ValidationError), + (URLValidator(), 'http://invalid.com-', ValidationError), (URLValidator(), 'http://inv-.alid-.com', ValidationError), (URLValidator(), 'http://inv-.-alid.com', ValidationError),