diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2007-04-26 12:46:04 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2007-04-26 12:46:04 +0000 |
| commit | b24c860fa21790bfe04f5afc7c8bcccb70902f83 (patch) | |
| tree | dd25150c2d7dd6d7aaf688ee3d2f326458d1ae7b /django/newforms | |
| parent | ed60b8645f36b32949b9ed30a8323b49417f7bef (diff) | |
Fixed #3787, #3788 -- Corrected check for IndexError on MultiValueField, and fixed the value_from_datadict method for MultiWidgets to handle Multiwidgets containing Multiwidgets. Also added a testcase walking through the use of MultiWidget/MultiValueField. Thanks to Max Derkachev for reporting these issues and providing fixes.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5088 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/newforms')
| -rw-r--r-- | django/newforms/fields.py | 2 | ||||
| -rw-r--r-- | django/newforms/widgets.py | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/django/newforms/fields.py b/django/newforms/fields.py index 7c542b9001..509c099e86 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -457,7 +457,7 @@ class MultiValueField(Field): for i, field in enumerate(self.fields): try: field_value = value[i] - except KeyError: + except IndexError: field_value = None if self.required and field_value in EMPTY_VALUES: raise ValidationError(gettext(u'This field is required.')) diff --git a/django/newforms/widgets.py b/django/newforms/widgets.py index d50b1921ea..5f1a130459 100644 --- a/django/newforms/widgets.py +++ b/django/newforms/widgets.py @@ -347,7 +347,7 @@ class MultiWidget(Widget): id_for_label = classmethod(id_for_label) def value_from_datadict(self, data, name): - return [data.get(name + '_%s' % i) for i in range(len(self.widgets))] + return [widget.value_from_datadict(data, name + '_%s' % i) for i, widget in enumerate(self.widgets)] def format_output(self, rendered_widgets): return u''.join(rendered_widgets) |
