flask: 用flask-wtf校验参数

一,安装第三方库

$ pip3 install flask-wtf

二,例子

# validator
from flask_wtf import FlaskForm
import wtforms
from wtforms import validators
from wtforms.fields import StringField, TextAreaField, IntegerField, DecimalField, BooleanField, PasswordField, \
    RadioField, SelectField, FloatField, DateField, SelectMultipleField, DateTimeField
from wtforms.validators import DataRequired, InputRequired, Length, ValidationError, optional, EqualTo,NumberRange


# 添加用户的校验form
class AddedForm(FlaskForm):
    name = StringField('name', validators=[DataRequired(message="名字不可为空"), Length(3, 50, message="名字最少三个字")])
    age = IntegerField(label='年龄', validators=[DataRequired(message="年龄不可为空"), NumberRange(min=18, max=120, message="年龄应在18岁以上")])

    class Meta:
        csrf = False

# 添加用户
@user.route("/added/", methods=['POST'])
def user_added():
    # 得到post参数

    # name = request.form['name']
    # age = request.values['age']

    form = AddedForm(request.form)
    if form.validate()==False:
        errors = form.errors
        print(errors)
        return failed_response(500,"发生校验错误:"+str(errors))

    name = form.name.data
    age = form.age.data

    # 返回
    data = {
        "status": "success",
        "code": 200,
        "msg": "添加用户:"+name+",年龄:"+str(age)
    }
    return jsonify(data)

三,测试效果

image

posted @ 2025-11-09 15:57  刘宏缔的架构森林  阅读(1)  评论(0)    收藏  举报