Посмотрим, правильно ли я вас понял.
{{ form.username.label(class_='username-label') }}
должно стать
{{ form.username.label(class_='username-label with-errors') }}
на случай, если форма недействительна.
Я бы подошел к ней с
<div>
{% if form.username.errors %}
{{ form.username.label(class ='username-label with-errors') }}
{% else %}
{{ form.username.label(class ='username-label') }}
{% endif %}
<div>
{% if form.username.errors %}
{{ form.username }}
<div>
{% for error in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.username }}
{% endif %}
</div>
</div>
Также вы можете использовать фактические <label>
и <ul>
для улучшения семантики.
Редактировать: добавлены подчеркивания, поэтому class_
применяется в шаблоне Flask правильно.