Performance: Error message display in templates
MEDIUM IMPACT
This affects page load speed and interaction responsiveness by how error messages are rendered and updated in the DOM.
return render_template('form.html', errors=errors) # errors only contains current relevant errors <!-- In template --> {% for field, msgs in errors.items() if msgs %} <div class="error">{{ field }}: {{ msgs|join(", ") }}</div> {% endfor %}
return render_template('form.html', errors=errors) # errors is a large dict with all possible errors <!-- In template --> {% for field, msgs in errors.items() %} <div class="error">{{ field }}: {{ msgs|join(", ") }}</div> {% endfor %}
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Render all possible errors regardless of presence | Many nodes created | Multiple reflows | High paint cost | [X] Bad |
| Render only current errors present | Minimal nodes created | Single reflow | Low paint cost | [OK] Good |