【问题标题】:Flask wtf-form override error messageFlask wtf-form 覆盖错误信息
【发布时间】:2018-09-14 20:10:06
【问题描述】:

我将 wtf-form 用于我的密码重置页面,但生成的错误消息有问题。我希望能够禁用 wtf-form 生成的错误并使用我自己的错误,或者能够覆盖它们。

{% for e in form.password.errors %}
    <span class="label label-danger">{{ e }}</span>
{% endfor %}

<form action="http://127.0.0.1:5000/setpassword" method=post>
    <div class="form-group">
        {{ form.csrf_token }}
        {{ wtf.form_field(form.password, class='form-control', placeholder='Enter Password') }}
    </div>

class PasswordForm(FlaskForm):
password = PasswordField('',validators=[pass_num, pass_small_lett, pass_big_lett, pass_special, pass_min])
confirm = PasswordField('',[validators.EqualTo('password', message='Not matching')])
submit = SubmitField('Send')

【问题讨论】:

  • 为什么不直接删除这个块:: {% for e in form.password.errors %} &lt;span class="label label-danger"&gt;{{ e }}&lt;/span&gt; {% endfor %}
  • 这就是我要使用的块,我不希望 wtf-form 为我生成错误。这是从表单字段生成的:“

    缺少数字

  • 啊,好吧,我在您的示例中看不到这些消息的来源,但另一种解决方案是将它们简单地设置为display:none。所以只需设置:.help-block{display:none;}
  • 谢谢 :),我今天很慢。

标签: python flask flask-wtforms


【解决方案1】:

如果您不想要它的额外功能,请不要使用form_field()。这将只呈现输入字段:

{{ form.password(class='form-control', placeholder='Enter Password') }}

在您的示例中,该字段的标签为空,但如果该字段有标签,则也必须打印。引导规则是:

  • 中包装标签和表单控件(需要最佳间距)
  • 将 .form-control 类添加到所有文本

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签