wtforms

可以使用wtforms进行辅助验证。

  1. from wtforms import Form,StringField,IntegerField,DataRequired
  2. class SearchForm(Form):
  3. #validators参数输一个数组,可以传入多个验证器,DataRequired指定数据不可为空
  4. q = StringField(validators = [DataRequired(),Length(min=1,max=30)])
  5. page = IntegerField(validators = [NumberRange(min=1,max=99)],defualt=1)

调用的时候

  1. form = SearchForm(request.args)
  2. if form.validate():
  3. q= form.q.data.strip() #从form中取数据而不是request.args,strip把空格去除
  4. page = form.page.data #从form中取数据而不是request.args

对于各种Field,还可以传入msg参数,指定不符合校验的时候返回的错误,可以通过实例化后的form.errors获取到。