Flask-FormEncode

A form validation extension for Flask using the FormEncode package.


Keywords
formencode, flask, validation
License
MIT
Install
pip install Flask-FormEncode==0.10.1

Documentation

Flask-FormEncode

Flask extension for the form processing & validation library FormEncode

PyPI version Build Status Coverage Status

Read the complete docs

Flask-FormEncode supports python 2.6, 2.7 and pypy. Python 3 support will be added once FormEncode supports it (expected next release).

To run the tests, do python setup.py test.

Example:

# app.py
from flask import Flask, redirect, flash, abort
from flask.ext.formencode import Form
from formencode import Invalid, Schema
from formencode.validators import UnicodeString

app = Flask(__name__)

class LoginSchema(Schema):
    username = UnicodeString(strip=True, not_empty=True)

@app.route('/')
def index():
    return 'Hello'

@app.route('/login', methods=['POST'])
def login():
    try:
        form = Form(LoginSchema)
    except Invalid as e:
        flash(e.unpack_errors())
        abort(400)
    else:
        flash('Welcome {0}'.format(form['username']))
    return redirect(url_for('index'))