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