Split forms into containers, entities, and fields. Split attribute fields out from...
[philo.git] / forms / fields.py
1 from django import forms
2 from django.utils import simplejson as json
3 from philo.validators import json_validator
4
5
6 __all__ = ('JSONFormField',)
7
8
9 class JSONFormField(forms.Field):
10         default_validators = [json_validator]
11         
12         def clean(self, value):
13                 if value == '' and not self.required:
14                         return None
15                 try:
16                         return json.loads(value)
17                 except Exception, e:
18                         raise ValidationError(u'JSON decode error: %s' % e)