{% if field.errors %}
{# Select2 fields need special class #}
{% if field.widget.__class__.__name__ in ['Select', 'Select2Widget'] %}
{{ field(class_="form-control is-invalid", **({'data-role': 'select2'} if field.widget.__class__.__name__ ==
'Select2Widget' else {})) }}
{% else %}
{{ field(class_="form-control is-invalid") }}
{% endif %}
{% for error in field.errors %}
{{ error }}
{% endfor %}
{% else %}
{% if field.type == 'QuerySelectField' %}
{{ field(class_="form-control select2-field") }}
{% elif field.widget.input_type == 'select' %}
{{ field(class_="form-control") }}
{% else %}
{{ field(class_="form-control") }}
{% endif %}
{% endif %}
{% if field.description %}
{{ field.description }}
{% endif %}