From 2e221244fada6bbe2fe1013c537b64cf1343669b Mon Sep 17 00:00:00 2001 From: Daniel Gomez Jurado Date: Sat, 2 Feb 2013 00:04:07 +0100 Subject: [PATCH] Add json response method to the Base handler class validate method from ngforms now return the dictionary of values --- handlers.py | 5 +++++ ngforms.py | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/handlers.py b/handlers.py index 51ae4fa..3b2ddf2 100644 --- a/handlers.py +++ b/handlers.py @@ -1,5 +1,6 @@ import webapp2 +from webapp2_extras import json import os @@ -9,3 +10,7 @@ def render(self, name, *args, **kwargs): template = jinja_environment.get_template(os.path.join("templates", ('%s.html' % name) )) self.response.out.write(template.render(*args, **kwargs)) + + def json(self, value): + self.response.headers['Content-Type'] = 'application/json; charset=utf-8' + self.response.out.write(json.encode(value)) diff --git a/ngforms.py b/ngforms.py index be8cc3c..7c69134 100644 --- a/ngforms.py +++ b/ngforms.py @@ -21,18 +21,18 @@ def validate(self): data = json.decode(request.body) for f in self.fields: - vals = self.validations[f.id] - try: - value = data[f.id] + value = data[f.id].strip() except KeyError: value = '' field_values[f.id] = value - for val in vals: + for val in self.validations[f.id]: if not val.validate(self): request.abort(403) + return field_values + @property def fields(self): raise NotImplemented()