python - WTForms TextAreaField 长度验证
问题描述
如果输入少于 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>
解决方案
您需要修改 html 以显示存储在“field”.errors 中的错误,并更正视图路由以在验证错误时不重定向到您的主页。
你应该看看:https ://flask.palletsprojects.com/en/2.0.x/patterns/wtforms/
推荐阅读
- javascript - 如何清除单选按钮/将所有选定的单选按钮清除为错误状态。reactjs - 引导
- codeigniter - 代码点火器:导航(视图)到模型:严重性:通知消息:未定义的属性:
- amazon-ec2 - 如果我知道名称,如何获取 AWS 安全组的 ID?
- javascript - Dropzone.js 提交多ID
- python - 石墨烯 Django 返回空值
- javascript - 从 JS 导出 VCard 并在联系人中打开
- julia - 如何在 Mac OS X 中升级到 Julia 0.7
- php - 如何在 PHP 中将一种日期格式更改为另一种日期格式
- django - Django:在我从具有动态数据的视图中呈现模板后,模板保持静态并且在将数据添加到数据库时不会更改
- python - 使用在 Flask 中运行的连接将 SQL 转换为 Sqlalchemy Select