1

最开始是前后端没有分离,直接在前端用jinja2和后端的信息整合
在做表单验证的时候,用的FlaskForm

class RegisterForms(FlaskForm):
    phone = StringField(label="手机号", validators=[DataRequired(message="手机号不能为空"), Length(min=1)])
    nikename = StringField("昵称", validators=[DataRequired(message="昵称不能为空"),
                                                 Length(min=1, max=64, message="最大64个字符")])
    password = PasswordField("新的密码", validators=[DataRequired(message="密码不能为空"),
                                                     Length(min=6, max=64, message="密码必须大于6位数")])
    confirm = PasswordField('请再输入一次密码', validators=[DataRequired(message="密码不能为空"),
                                                        EqualTo("password", message="两次密码必须一致")])
    SubmitField = SubmitField('注册')

    def validate_phone(self, field):
        if User.query.filter_by(phone=field.data).first():
            raise ValidationError('该手机号已经被注册使用')

现在开始写接口了,但是在做表单验证的时候,发现好像要重新 校验 传递过来的json值里面的信息
有没有类似 FlaskForm 做的接口表单验证的?
比如:是否为空,判断是否一致,下面的validate验证是否存在等。。。

现在想到自己写接口,这些判断都要自己写。。好麻烦呀。。
我没找到相关的模块或者用法。。请教各位大神

PS:接口我现在用的return jsonify来做的返回

查看全部 2 个回答

1

已采纳

在视图函数里调from的验证方法


from = RegisterForms()

if form.validate_on_submit():
    pass
else:
    # 验证失败
    return jsonify({
        "errors": from.errors,
        "status": "error",
        "msg": "字段验证失败"
    })