python - Flask 表单验证错误提示信息
问题描述
我制作了一个表单来重置密码,当我使用空密码提交表单时,我设置的错误提示词views.py
没有显示在<span>
我留在 HTML 中,Fill out this field
而是显示默认值。
*第一个是旧密码,第二个是新密码在forms.py中:
class PwdForm(FlaskForm):
old_pwd = PasswordField(
label="OldPassword",
validators=[
DataRequired("Please input old password")
]
)
submit = SubmitField(
"Confirm"
)
在views.py中:
@admin.route("/pwd_reset/", methods=["GET", "POST"])
@admin_login_req
def pwd_reset():
form = PwdForm()
if form.validate_on_submit():
data = form.data
admin = Admin.query.filter_by(name=session["admin"]).first()
from werkzeug.security import generate_password_hash
admin.pwd = generate_password_hash(data["new_pwd"])
db.session.add(admin)
db.session.commit()
flash("ok, now use your new password to login", "ok")
redirect(url_for("admin.logout"))
return render_template("admin/pwd_reset.html", form=form)
在 html 中:
<label for="input_pwd">{{ form.old_pwd.label }}</label>
{{ form.old_pwd }}
{% for err in form.old_pwd.errors %}
<span style="color: #ff4f1f">{{ err }}</span>
{% endfor %}
如何让我自己的提示信息出现
解决方案
我想你的意思是你如何让你的Flash消息显示?在您的基本模板页面或每个页面中使用以下代码。请参阅:消息闪烁
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class="flashes">
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
推荐阅读
- javascript - React CSSTransition 没有正确应用类
- javascript - 在 React 中加载 API 数据之前调用 render 方法
- c# - 有没有办法通过脚本将对象导出到包中?
- javascript - 替换已弃用的 `keypress` DOM 事件
- shell - Shell - 如何每行添加增量空格
- java - 使用空 String(null/"") 和 String 重载方法
- java - 安卓工作室的电话按钮
- excel - 用于保存特定范围的行的 VBA 代码
- javascript - 将html中的表单值分配给javascript变量
- unity3d - Unet Spawnable prefab 不跟随客户端的 Player Prefab