diff --git a/django/forms/fields.py b/django/forms/fields.py index b20beb939f..2420e2050a 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -667,7 +667,7 @@ class TypedChoiceField(ChoiceField): self.coerce = kwargs.pop('coerce', lambda val: val) self.empty_value = kwargs.pop('empty_value', '') super(TypedChoiceField, self).__init__(*args, **kwargs) - + def clean(self, value): """ Validate that the value is in self.choices and can be coerced to the @@ -676,12 +676,12 @@ class TypedChoiceField(ChoiceField): value = super(TypedChoiceField, self).clean(value) if value == self.empty_value or value in EMPTY_VALUES: return self.empty_value - + # Hack alert: This field is purpose-made to use with Field.to_python as # a coercion function so that ModelForms with choices work. However, - # Django's Field.to_python raises django.core.exceptions.ValidationError, - # which is a *different* exception than - # django.forms.utils.ValidationError. So unfortunatly we need to catch + # Django's Field.to_python raises + # django.core.exceptions.ValidationError, which is a *different* + # exception than django.forms.util.ValidationError. So we need to catch # both. try: value = self.coerce(value) diff --git a/docs/ref/forms/validation.txt b/docs/ref/forms/validation.txt index af3b7f23f3..25b900e824 100644 --- a/docs/ref/forms/validation.txt +++ b/docs/ref/forms/validation.txt @@ -100,10 +100,10 @@ through the ``Form.non_field_errors()`` method. When you really do need to attach the error to a particular field, you should store (or amend) a key in the `Form._errors` attribute. This attribute is an -instance of a ``django.form.utils.ErrorDict`` class. Essentially, though, it's +instance of a ``django.forms.util.ErrorDict`` class. Essentially, though, it's just a dictionary. There is a key in the dictionary for each field in the form that has an error. Each value in the dictionary is a -``django.form.utils.ErrorList`` instance, which is a list that knows how to +``django.forms.util.ErrorList`` instance, which is a list that knows how to display itself in different ways. So you can treat `_errors` as a dictionary mapping field names to lists.