from flask import request from wtforms import Form from app.libs.error_code import ParameterException class BaseForm(Form): def __init__(self, *args, **kwargs): data = request.get_json(silent=True) args = request.args.to_dict() kwargs['csrf_enabled'] = False super(BaseForm, self).__init__(data=data, **args, **kwargs) def validate_for_api(self): valid = super(BaseForm, self).validate() if not valid: raise ParameterException(message=self.errors) return self