bugfix native json fields were not supported correcly

This commit is contained in:
Michele Comitini
2013-07-21 23:32:58 +02:00
parent 94a33dc47f
commit abf138c842
2 changed files with 6 additions and 2 deletions
+5 -1
View File
@@ -346,13 +346,17 @@ class IS_JSON(Validator):
('spam1234', 'invalid json')
"""
def __init__(self, error_message='invalid json'):
def __init__(self, error_message='invalid json', native_json=False):
self.native_json = native_json
self.error_message = error_message
def __call__(self, value):
if value is None:
return None
try:
if self.native_json:
simplejson.dumps(value) # raises error in case of malformed json
return (value, None) # the serialized value is not passed
return (simplejson.loads(value), None)
except JSONErrors:
return (value, translate(self.error_message))