wtforms
可以使用wtforms进行辅助验证。
from wtforms import Form,StringField,IntegerField,DataRequired
class SearchForm(Form):
#validators参数输一个数组,可以传入多个验证器,DataRequired指定数据不可为空
q = StringField(validators = [DataRequired(),Length(min=1,max=30)])
page = IntegerField(validators = [NumberRange(min=1,max=99)],defualt=1)
调用的时候
form = SearchForm(request.args)
if form.validate():
q= form.q.data.strip() #从form中取数据而不是request.args,strip把空格去除
page = form.page.data #从form中取数据而不是request.args
对于各种Field,还可以传入msg参数,指定不符合校验的时候返回的错误,可以通过实例化后的form.errors获取到。