如果输入少于 10 个字符,则不会出现长度验证消息,而是重定向到主页。如何在表单字段为空时显示错误消息?
表单类:
class __MyForm(FlaskForm):
name = StringField(FIELDS[0], default="", validators=[DataRequired()])
mail = EmailField(FIELDS[1], default="", validators=[DataRequired()])
message = TextAreaField(FIELDS[2], default="", validators=[DataRequired(), Length(min=10, max=250, message="At least 15 characters, maximum 250")])
HTML:
<form method="POST">
{{ form.csrf_token }}
<div class="row">
<div class='form-inputs col-12 col-lg-6'>{{ form.name() }}</div>
<div class='form-inputs col-12 col-lg-6'>{{ form.mail() }}</div>
<p class="col-12 col-lg-11">{{ form.message() }}</p>
<button type="submit" class='btn btn-link col-12 col-lg-1' title="Wyślij">
<i class="fas fa-paper-plane fa-4x mb-3"></i>
</button>
</div>
</form>
答案 0 :(得分:0)
您需要修改 html 以显示存储在“field”.errors 中的错误并更正视图路由,以免在验证错误时重定向到您的主页。
你应该看看:https://flask.palletsprojects.com/en/2.0.x/patterns/wtforms/