我了解如何验证每个字段并在需要时显示每个错误。但是如何显示表单错误。
我的意思是用户可以输入有效信息,但表格整体可能有误。
实施例: 表格用户名和密码。每个都有一个验证器。如果登录失败(帐户不存在或密码不正确),如何显示错误?
我尝试引发ValidationError ......但这只会引发错误。
def login():
form = LoginForm(request.form)
if form.validate_on_submit():
username = form.username.data
password = form.password.data
if login(username, password):
return redirect(url_for('dashboard'))
else:
raise ValidationError('Invalid login')
return render_template('login.html', form=form)
答案 0 :(得分:0)
将您的raise ValidationError('Invalid login')
更改为flash('Invalid login')
并记得from flask import flash
然后在“login.html”中添加一个字段以显示此消息
{% for message in get_flashed_messages() %}
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">×</button>
{{ message }}
</div>
{% endfor %}