Fixed #3281 -- newforms: URLField now works properly with required=False and verify_exists=True together. Thanks, zendak

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4313 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-01-13 05:19:15 +00:00
parent 6b31f95516
commit f2a3deb087
2 changed files with 7 additions and 0 deletions

View File

@ -288,6 +288,8 @@ class URLField(RegexField):
def clean(self, value): def clean(self, value):
value = RegexField.clean(self, value) value = RegexField.clean(self, value)
if not self.required and value == u'':
return value
if self.verify_exists: if self.verify_exists:
import urllib2 import urllib2
from django.conf import settings from django.conf import settings

View File

@ -1331,6 +1331,11 @@ ValidationError: [u'This URL appears to be a broken link.']
Traceback (most recent call last): Traceback (most recent call last):
... ...
ValidationError: [u'This URL appears to be a broken link.'] ValidationError: [u'This URL appears to be a broken link.']
>>> f = URLField(verify_exists=True, required=False)
>>> f.clean('')
u''
>>> f.clean('http://www.google.com') # This will fail if there's no Internet connection
u'http://www.google.com'
EmailField also access min_length and max_length parameters, for convenience. EmailField also access min_length and max_length parameters, for convenience.
>>> f = URLField(min_length=15, max_length=20) >>> f = URLField(min_length=15, max_length=20)