diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2007-01-13 05:19:15 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2007-01-13 05:19:15 +0000 |
| commit | f2a3deb0871c6cdbe04e1e0b36f4984c7c825bac (patch) | |
| tree | 2dd0966a04584a4ea90d90472f8f550d018613b8 | |
| parent | 6b31f95516e3a65f93a9ab6491c6e3b2b54ae620 (diff) | |
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
| -rw-r--r-- | django/newforms/fields.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/forms/tests.py | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/django/newforms/fields.py b/django/newforms/fields.py index 0b883bfad1..308790b07a 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -288,6 +288,8 @@ class URLField(RegexField): def clean(self, value): value = RegexField.clean(self, value) + if not self.required and value == u'': + return value if self.verify_exists: import urllib2 from django.conf import settings diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py index bfe36a467e..2ae10dc0d6 100644 --- a/tests/regressiontests/forms/tests.py +++ b/tests/regressiontests/forms/tests.py @@ -1331,6 +1331,11 @@ ValidationError: [u'This URL appears to be a broken link.'] Traceback (most recent call last): ... 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. >>> f = URLField(min_length=15, max_length=20) |
