有条件地将CSS类应用到Python Flask中的wtforms元素

问题描述 投票:0回答:1

仅当表单中存在错误时,我才想将额外的 is-invalid CSS 类应用于 wtforms 元素。

我已经使用以下代码来实现此目的并且它有效:

{% if form.email.errors %}
{{ form.email(placeholder="Email", class="form-control is-invalid") }}
{% else %}
{{ form.email(placeholder="Email", class="form-control") }}
{% endif %}

但是,它不是很简洁,我不得不重复整个 form.email 元素。如果逻辑更复杂,这可能会变得非常混乱。

必须有一种更清晰的方法来仅将类值包装在逻辑中。

python flask flask-wtforms wtforms
1个回答
0
投票

您可以将字符串连接运算符“~”与内联 if 语句一起使用,例如

{{ form.email(placeholder="Email", class="form-control" ~ " is-invalid" if form.email.errors else "") }}
© www.soinside.com 2019 - 2024. All rights reserved.