WTForms TextAreaField 长度验证

时间:2021-05-20 11:21:14

标签: python flask wtforms

如果输入少于 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>

我想用我的长度验证消息显示这样的错误: enter image description here

1 个答案:

答案 0 :(得分:0)

您需要修改 html 以显示存储在“field”.errors 中的错误并更正视图路由,以免在验证错误时重定向到您的主页。

你应该看看:https://flask.palletsprojects.com/en/2.0.x/patterns/wtforms/