Flask输入在提交之前已经过验证?

时间:2018-02-15 23:26:13

标签: python forms flask

我基本上希望在用户点击提交之前验证我的输入(超过7个字符)。

我有我的意见:

<form method="POST" action="/send">
                <div>
                    <input type="text" name="input">
                </div>
                <input type="submit"></form>

所以要在我的烧瓶中处理它,我想我会做这样的事情:

@app.route('/', methods=['GET', 'POST'])
def home():
    valid = True
    if len(request.form['input']) < 7:
        valid = False
        flash('Input too short.')
    if request.method == 'POST' and valid:
        variable = request.form['input']
    return render_template('simple.html')

这会让我回复&#34;错误请求

浏览器(或代理)发送了此服务器无法理解的请求。&#34;

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

将表单帖子中的操作从width =更改为action="/send"。因此,新行应该是:

action=""

答案 1 :(得分:0)

FLASK不应该处理这个问题。 WSGI应用程序不会动态处理网站输入,因此必须在FLASK处理之前提交表单。

你想要的是在元素的模式中使用正则表达式:

<input type="text" pattern=".{8,}" title="Eight or more characters">