diff options
Diffstat (limited to 'tagging/forms.py')
-rw-r--r-- | tagging/forms.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/tagging/forms.py b/tagging/forms.py index a2d9fd9..e597f2d 100644 --- a/tagging/forms.py +++ b/tagging/forms.py @@ -1,5 +1,5 @@ """ -Tagging components for Django's form library. +Form components for tagging. """ from django import forms from django.utils.translation import ugettext as _ @@ -8,21 +8,20 @@ from tagging import settings from tagging.models import Tag from tagging.utils import parse_tag_input + class TagAdminForm(forms.ModelForm): class Meta: model = Tag + fields = ('name',) def clean_name(self): value = self.cleaned_data['name'] tag_names = parse_tag_input(value) if len(tag_names) > 1: raise forms.ValidationError(_('Multiple tags were given.')) - elif len(tag_names[0]) > settings.MAX_TAG_LENGTH: - raise forms.ValidationError( - _('A tag may be no more than %s characters long.') % - settings.MAX_TAG_LENGTH) return value + class TagField(forms.CharField): """ A ``CharField`` which validates that its input is a valid list of @@ -30,11 +29,9 @@ class TagField(forms.CharField): """ def clean(self, value): value = super(TagField, self).clean(value) - if value == u'': - return value for tag_name in parse_tag_input(value): if len(tag_name) > settings.MAX_TAG_LENGTH: raise forms.ValidationError( _('Each tag may be no more than %s characters long.') % - settings.MAX_TAG_LENGTH) + settings.MAX_TAG_LENGTH) return value |