首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WTForms获取错误

WTForms获取错误
EN

Stack Overflow用户
提问于 2011-06-24 11:31:27
回答 4查看 26.8K关注 0票数 28

目前在WTForms中,要访问错误,你必须像这样遍历字段错误:

代码语言:javascript
复制
for error in form.username.errors:
        print error

因为我正在构建一个不使用表单视图的rest应用程序,所以我不得不检查所有的表单字段,以便找到错误所在。

有没有办法让我这样做:

代码语言:javascript
复制
for fieldName, errorMessage in form.errors:
        ...do something
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-25 01:01:32

实际的form对象有一个errors属性,该属性包含字段名及其在字典中的错误。所以你可以这样做:

代码语言:javascript
复制
for fieldName, errorMessages in form.errors.items():
    for err in errorMessages:
        # do something with your errorMessages for fieldName
票数 42
EN

Stack Overflow用户

发布于 2013-12-18 04:58:08

Flask模板的更干净的解决方案:

Python 3:

代码语言:javascript
复制
{% for field, errors in form.errors.items() %}
<div class="alert alert-error">
    {{ form[field].label }}: {{ ', '.join(errors) }}
</div>
{% endfor %}

Python 2:

代码语言:javascript
复制
{% for field, errors in form.errors.iteritems() %}
<div class="alert alert-error">
    {{ form[field].label }}: {{ ', '.join(errors) }}
</div>
{% endfor %}
票数 33
EN

Stack Overflow用户

发布于 2013-02-21 04:44:42

对于希望在Flask模板中执行此操作的任何人:

代码语言:javascript
复制
{% for field in form.errors %}
{% for error in form.errors[field] %}
    <div class="alert alert-error">
        <strong>Error!</strong> {{error}}
    </div>
{% endfor %}
{% endfor %}
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6463035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档