diff options
Diffstat (limited to 'tagging/.svn/text-base/forms.py.svn-base')
-rw-r--r-- | tagging/.svn/text-base/forms.py.svn-base | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tagging/.svn/text-base/forms.py.svn-base b/tagging/.svn/text-base/forms.py.svn-base new file mode 100644 index 0000000..e65aec4 --- /dev/null +++ b/tagging/.svn/text-base/forms.py.svn-base @@ -0,0 +1,23 @@ +""" +Tagging components for Django's ``newforms`` form library. +""" +from django import forms +from django.utils.translation import ugettext as _ + +from tagging import settings +from tagging.utils import parse_tag_input + +class TagField(forms.CharField): + """ + A ``CharField`` which validates that its input is a valid list of + tag names. + """ + 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) + return value |