我基本上希望在用户点击提交之前验证我的输入(超过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;
我该如何解决这个问题?
答案 0 :(得分:0)
将表单帖子中的操作从width =
更改为action="/send"
。因此,新行应该是:
action=""
答案 1 :(得分:0)
FLASK不应该处理这个问题。 WSGI应用程序不会动态处理网站输入,因此必须在FLASK处理之前提交表单。
你想要的是在元素的模式中使用正则表达式:
<input type="text" pattern=".{8,}" title="Eight or more characters">