WTForms得到错误

问题描述 投票:13回答:4

目前在WTForms中访问错误,你必须循环遍历字段错误,如下所示:

for error in form.username.errors:
        print error

由于我正在构建一个不使用表单视图的休息应用程序,因此我不得不检查所有表单字段以查找错误所在的位置。

有没有办法可以做类似的事情:

for fieldName, errorMessage in form.errors:
        ...do something
python flask wtforms
4个回答
26
投票

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

for fieldName, errorMessages in form.errors.items():
    for err in errorMessages:
        # do something with your errorMessages for fieldName

18
投票

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

{% for field in form.errors %}
{% for error in form.errors[field] %}
    <div class="alert alert-error">
        <strong>Error!</strong> {{error}}
    </div>
{% endfor %}
{% endfor %}

15
投票

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 %}

0
投票

当与qazxsw poi一起使用qazxsw poi中的qazxsw poi时,如果在对象内部有一个嵌套对象(外键关系),这里就是如何正确显示字段的相关错误。

Python方面:

ModelFormFields

我们这样做:

SqlAlchemy

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.