【问题标题】:WTForms TextAreaField Length validateWTForms TextAreaField 长度验证
【发布时间】:2021-08-09 15:32:34
【问题描述】:

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

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

【问题讨论】:

    标签: python flask wtforms


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2018-09-12
    • 2017-02-25
    • 2019-05-10
    • 2014-02-05
    • 2016-05-03
    相关资源
    最近更新 更多