为什么在 Flask 的表单验证中没有显示错误消息?

时间:2021-02-24 13:19:51

标签: python html flask

当我用数据正确填写表单时,它会创建帐户并重定向到登录页面 - 就像它应该工作一样。但是当我用无效数据填写表单时,例如。尝试创建一个只有一个字符的用户名 - 这样就不会创建帐户(这很好),但也不会出现错误消息。经过数小时的实验和更改代码后,我仍然不知道是什么导致了这个问题,尤其是当我过去使用相同的方法创建类似的东西并且一切正常时。 如果您需要更多信息/代码,请告诉我,我会编辑帖子。

报名表

class RegistrationForm(FlaskForm):
    username = StringField('Name',
                           validators=[DataRequired(), Length(min=2, max=20)],
                           render_kw={"placeholder": "Username"})
    email = StringField('Email',
                        validators=[DataRequired(), Email()],
                        render_kw={"placeholder": "Email"})
    password = PasswordField('Password',
                             validators=[DataRequired()],
                             render_kw={"placeholder": "Password"})
    confirm_password = PasswordField('Confirm Password',
                                     validators=[DataRequired(), EqualTo('password')],
                                     render_kw={"placeholder": "Confirm Password"})  # equal to password field
    submit = SubmitField('Sign Up')

HTML

<div class="registration-box">
<h1>Register</h1>
<form method="POST">
{{ form.hidden_tag() }}

<div class="textbox">
    {% if form.username.errors %}
        <div class="invalid-feedback">  
            {% for error in form.username.errors %}
                <span>{{ error }}</span>
            {% endfor %}
        </div>
    {% else %}
        <i class="fa fa-user" aria-hidden="true"></i>
        {{ form.username(class="text") }} 
    {% endif %}
</div>  

[... other forms for email, password etc...]
</div>

0 个答案:

没有答案
相关问题