请教flask-wtf/WTForms中validate()函数的作用和用法

发布于 2022-09-06 19:52:32 字数 911 浏览 31 评论 0

在视图函数中,表单用法示例如下:

@app.route('/register', methods=['GET', 'POST'])
def register():

form = RegistrationForm(request.form)
if request.method == 'POST' and form.validate():
    user = User(form.username.data, form.email.data,
                form.password.data)
    db_session.add(user)
    flash('Thanks for registering')
    return redirect(url_for('login'))
return render_template('register.html', form=form)

注意,这里我们默认视图使用了 SQLAlchemy ( 在 Flask 中使用 SQLAlchemy ),当然这 不是必须的。请根据你的实际情况修改代码。

请记住以下几点:

如果数据是通过 HTTP POST 方法提交的,请根据 form 的 值创建表单。如果是通过 GET 方法提交的,则相应的是 args 。
调用 validate() 函数来验证数据。如果验证通过,则 函数返回 True
,否则返回 False 。
通过 form.<NAME>.data 可以访问表单中单个值。

//以上内容来自http://dormousehole.readthedo...,这里来说调用validate()函数来验证数据,它的验证规则是什么?是否为空还是什么?谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执手闯天涯 2022-09-13 19:52:32

在你定义RegistrationForm的时候,里面的某些Field字段会有 validators参数,validate()方法的验证规则便是根据这个的(如果它没被重载的话)

空‖城人不在 2022-09-13 19:52:32

form = RegistrationForm(request.form)
你看下你的RegistrationForm定义

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文