繁体   English   中英

来自 Flask-WTF 的 validate_on_submit() 总是返回 true

[英]validate_on_submit() from Flask-WTF always returns true

我在这样的代码中使用 Flask-WTF 的 validate_on_submit() function 作为非常简单的一页网站:

class SignForm(FlaskForm):
    testStrField = StringField("enter some text data")
    doCheckSign = SubmitField('Check the signed data')

@AppEDS1.route('/', methods=['GET', 'POST'])
def index1():
    form = SignForm()
    if form.validate_on_submit():
        ....

在我的<form></form>中,还有一些带有单独 JS 处理程序的按钮,用于 onclick 事件,我注意到对我的站点的每个 POST 请求都会触发 validate_on_submit() ,因为它为每个请求返回 TRUE。 实际上,请求之间的唯一区别在于相应的请求有效负载部分:

(对于“just-onclick-POST-request”) csrf_token=blablabla&testStrField=

(对于“sumbit-POST-request”) csrf_token=blablablabla&testStrField=ggggggggggg&doCheckSign=Check+the+signed+data

所以我的问题是 - validate_on_submit() 实际上如何确定它是“提交 POST 请求”(必须返回 TRUE)还是对网站后端的任意 POST 请求(必须返回 FALSE 但它没有)?

根据此示例,您没有指定有关表单的任何要求。 它应该是这样的:

class SignForm(FlaskForm):
    testStrField = StringField(validators=[InputRequired()])
    doCheckSign = SubmitField(validators=[InputRequired()])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM