flask-wtf ajax 方式提交 如何通过 validate_on_submit()验证?

使用正常的form表单提交没有任何问题,但是使用ajax 提交 validate_on_submit() 一直是 false ,已经排除csrf的原因,关闭csrf 也通不过验证。。。

Flask 表单form.validate_on_submit()什么情况下会是false??
1、在form中受到validators控制,不满足条件就会导致false
2、在form中使用了raise抛出异常后也会false。
3、表单的地方没写{{ form.csrf_token }},在HTML 里加上就好

4、定义表单时没写validators=[DataRequired()],如果不写这句,form.validate_on_submit()就认为表单是空的,所以会false。
这里注意如果是from flask_wtf import FlaskForm,validators里一定是DataRequired,如果是from flask_wtf import Form 那就是Required

account = StringField(u'账号', validators=[DataRequired()])
password = PasswordField(u'密码', validators=[DataRequired()])
submit = SubmitField(u'登录')
1
2
3
5、中文编码问题(好像python3不存在这个问题)
上面已经写出来了,StringField(u’账号’, validators=[DataRequired()]),如果label有中文的话,一定要加Unicode,不然也会false的
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答