Relax the RegEx restrictions to allow the new ICAAN TLDs.

This commit is contained in:
Jay Shirley 2014-08-08 09:11:05 -07:00
parent 174d964553
commit 85336f9777
3 changed files with 6 additions and 2 deletions

View File

@ -206,3 +206,4 @@ that much better:
* Clay McClure (https://github.com/claymation) * Clay McClure (https://github.com/claymation)
* Bruno Rocha (https://github.com/rochacbruno) * Bruno Rocha (https://github.com/rochacbruno)
* Norberto Leite (https://github.com/nleite) * Norberto Leite (https://github.com/nleite)
* Jay Shirley (https://github.com/jshirley)

View File

@ -160,8 +160,8 @@ class EmailField(StringField):
r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*"
# quoted-string # quoted-string
r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"'
# domain # domain (max length of an ICAAN TLD is 22 characters)
r')@(?:[A-Z0-9](?:[A-Z0-9-]{0,253}[A-Z0-9])?\.)+[A-Z]{2,6}$', re.IGNORECASE r')@(?:[A-Z0-9](?:[A-Z0-9-]{0,253}[A-Z0-9])?\.)+[A-Z]{2,22}$', re.IGNORECASE
) )
def validate(self, value): def validate(self, value):

View File

@ -2902,6 +2902,9 @@ class FieldTest(unittest.TestCase):
"aJIazqqWkm7.net")) "aJIazqqWkm7.net"))
self.assertTrue(user.validate() is None) self.assertTrue(user.validate() is None)
user = User(email="new-tld@example.technology")
self.assertTrue(user.validate() is None)
user = User(email='me@localhost') user = User(email='me@localhost')
self.assertRaises(ValidationError, user.validate) self.assertRaises(ValidationError, user.validate)