【发布时间】:2019-04-20 09:12:10
【问题描述】:
我在登录页面中有一个 HTML 表单,我想通过 ajax 将表单数据发送到 /data rout。
问题是在后端验证这个 HTML 表单。
我知道 Flask WTF 表单,但使用这种方法会在后端生成表单,这不是我的情况。
from flask import Flask, request, url_for
...
@app.route("/data", methods=["GET", "POST"])
def get_data():
if request.method == "POST":
username = request.form["username"]
...
我的html表单:
<form method="POST" action="">
<input type="text" name="username">
<input type="submit" value="Send">
</form>
一个困难的方法是使用正则表达式验证每个字段并为它们编写几个 if 条件。我想知道更简单的方法吗?
【问题讨论】:
-
您想如何准确地验证表单?你想做什么检查?
-
非空。电子邮件、电话、支票等等...
-
但我不想对所有输入都使用正则表达式。这一定是更好的方法?
-
如果您不想使用 Flask-WTF 提供的验证方法,您确实需要自己编写它们。您是否有不想使用 Flask-WTF 的特定原因?
-
我只需要导入您需要的 WTForms 验证器,然后自己根据您的输入运行它们,而无需创建表单。至少它可以避免您为电子邮件、电话、日期等创建自己的正则表达式。
标签: python flask flask-wtforms wtforms