如何查看WTForms的验证错误?

8
我正在编写一些基本的测试并且有一个测试失败了。
def test_new_user_registration(self):
  self.client.get('/user/register')
  form = RegistrationForm(
    email=u'crow@crow.com',
    first_name=u'Alex',
    last_name=u'Frazer',
    username=u'crow',
    password=u'fake_password',
    confirm_password=u'fake_password'
  )
  self.assertTrue(form.validate())

断言错误出现在form.validate()上,但我该如何查看验证错误呢?
3个回答

8

使用 form.errors:

errors

一个字典,其中包含每个字段的错误列表。如果表单尚未验证或没有错误,则为空。


3
您可以通过添加以下内容来打印错误:print form.errors.items()。

1

我曾经也遇到过同样的问题,但是却无法在任何地方找到答案。这是我在 index.html 中的代码片段:

 <div class="all">
      <div class="form-group">
        {{ form.phone.label(id="label1") }}
        {% if form.phone.errors %}
        {{ form.phone(class="form-control form-control-lg is-invalid") }}
        <div class="invalid-feedback">
            {% for error in form.phone.errors %}
                <span>{{ error }}</span>
            {% endfor %}
        </div>
    {% else %}
    {{ form.phone(class="form-control", placeholder="Enter Your Phone Number", )}}
    {% endif %}
       

      </div>
    </div>

而在我的forms.py文件中

class AddContestant(FlaskForm):
number = StringField('Phone number', validators=[DataRequired(), Length(min=10, max=15, message="Your phone number should be more than 10 digits and less than 15")])

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接