如何解决Flask-wtf错误消息未正确显示
我创建的表单的错误消息没有以我放置的引导样式出现。 这是form.py代码:
class SearchForm(FlaskForm):
search = StringField('Número do protocolo',validators=[DataRequired()])
submit = SubmitField('Buscar')
这是.html代码:
{% extends "base.html" %}
{% block sub_content %}
<br><br>
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Veja o andamento da sua denúncia</legend>
<div class="form-group">
{{ form.search.label(class="form-control-label") }}
{% if form.search.errors %}
{{ form.search(class="form-control is-invalid") }}
<div class="invalid-feedback">
{% for error in form.search.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.search(class="form-control") }}
{% endif %}
</div>
</fieldset>
<div class="form-group">
{{ form.submit(class="btn btn-secondary") }}
<a href="/client1/"><input type="button" value="Voltar" class="btn btn-secondary"></a>
</div>
</form>
{% endblock %}
即使html代码具有如下所示的错误样式:
{% if form.search.errors %}
{{ form.search(class="form-control is-invalid") }}
<div class="invalid-feedback">
{% for error in form.search.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
它在下图中不断显示随机错误消息:
解决方法
解决方案非常简单,您只需向表单添加“ novalidate”标签。您的代码没有错。
这是因为浏览器正在响应瓶状表单之前就做出了响应,并且实际上未呈现任何“错误”。
因此,HTML表单如下所示:
<!-- Note the 'validate' tag -->
<form method="POST" action="" novalidate>
{{ form.hidden_tag() }}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Veja o andamento da sua denúncia</legend>
<div class="form-group">
{{ form.search.label(class="form-control-label") }}
{% if form.search.errors %}
{{ form.search(class="form-control is-invalid") }}
<div class="invalid-feedback">
{% for error in form.search.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.search(class="form-control") }}
{% endif %}
</div>
</fieldset>
<div class="form-group">
{{ form.submit(class="btn btn-secondary") }}
<a href="/client1/"><input type="button" value="Voltar" class="btn btn-secondary"></a>
</div>
</form>
参考
否验证标签----> w3school
指南 -----> Miguel Grinberg
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。