WTForms 获取错误信息
目前在WTForms中,要查看错误信息,你需要像这样逐个检查每个字段的错误:
for error in form.username.errors:
print error
因为我正在构建一个不使用表单视图的REST应用,所以我不得不检查所有表单字段,才能找到错误出在哪里。
有没有办法让我可以这样做:
for fieldName, errorMessage in form.errors:
...do something
4 个回答
23
如果你想在Flask模板中做到这一点:
{% for field in form.errors %}
{% for error in form.errors[field] %}
<div class="alert alert-error">
<strong>Error!</strong> {{error}}
</div>
{% endfor %}
{% endfor %}
41
这是一个关于Flask模板的更简洁的解决方案:
适用于Python 3:
{% for field, errors in form.errors.items() %}
<div class="alert alert-error">
{{ form[field].label }}: {{ ', '.join(errors) }}
</div>
{% endfor %}
适用于Python 2:
{% for field, errors in form.errors.iteritems() %}
<div class="alert alert-error">
{{ form[field].label }}: {{ ', '.join(errors) }}
</div>
{% endfor %}
47
实际的 form
对象有一个 errors
属性,这个属性里面是一个字典,包含了字段名称和它们对应的错误信息。所以你可以这样做:
for fieldName, errorMessages in form.errors.items():
for err in errorMessages:
# do something with your errorMessages for fieldName