pip install wtforms-json
python
from flask import Flask, request, jsonify
from wtforms import Form, StringField, IntegerField, validators
from wtforms_json import init_json
app = Flask(__name__)
init_json(app)
class MyForm(Form):
name = StringField('name', validators=[validators.InputRequired()])
age = IntegerField('age', validators=[validators.InputRequired(), validators.NumberRange(0, 100)])
@app.route('/submit', methods=['POST'])
def submit_form():
form = MyForm.from_json(request.get_json())
if form.validate():
return jsonify(form.data)
else:
return jsonify(errors=form.errors)
if __name__ == '__main__':
app.run(debug=True)