Flask 1.0.2-DataRequired()覆盖Jinja2模板错误显示。这个可以解决吗?

时间:2019-06-16 18:50:03

标签: python flask

我正在使用一本书来研究Flask的开发,它说您可以将输入框验证放在模板本身中,而不是触发DataRequired(),并且会弹出小气泡,表明您未输入密码或用户名。

我尝试了模板代码和精选的form.py代码。

{% extends "base.html" %}

{% block content %}
<h1>Sign In</h1>
<form action="" method="post">
        {{ form.hidden_tag() }}
        <p>
        {{ form.username.label }}<br />
        {{ form.username(size=32) }}
         {% if form.username.errors %}
        <ul class="errors">{% for error in form.username.errors %}<li>{{ error }}</li>{% endfor %}</ul>
        {% endif %}
        </p>
        <p>
        {{ form.password.label }}<br />
        {{ form.password(size=32) }}
        {% if form.password.errors %}
        <ul class="errors">{% for error in form.password.errors %}<li>{{ error }}</li>{% endfor %}</ul>
        {% endif %}
        </p>
        <p>{{ form.remember_me() }} {{ form.remember_me.label }}</p>
        <p> {{ form.submit() }}</p>
</form>
{% endblock %}

forms.py:

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember_me = BooleanField('Remember Me')
    submit = SubmitField('Sign In')

如果输入框为空,应该以红色显示带有错误的UL标记的LI,而是使用默认值,即弹出一个小气泡,提示输入信息。

0 个答案:

没有答案