webentwicklung-frage-antwort-db.com.de

Einfache Überprüfung, ob das Formularfeld Fehler in der Vorlage Twig enthält

In Twig template überprüfe ich, ob in einem Feld ein Fehler wie dieser vorliegt:

{% if form.points.get('errors') is not empty %}

Gibt es eine Methode wie:

{% if form.points.hasErrors() %}

einfacher machen Es ist kein großer Unterschied, aber wenn ich es nicht einfacher machen kann, warum nicht.

57
Dawid Ohia

Diese Methode gibt es nicht. Ich mache normalerweise {% if form.points.vars.errors|length %}.

84
Kris Wallsmith

der bessere Weg, den ich gefunden habe, ist, diese Art von Code zu verwenden

{% if not form.vars.valid %}
<div class="alert alert-error">
    {{ form_errors(form) }}
</div>
{% endif %}
101
birko

Sie können beim Überschreiben des Feld-Renderings auch nach Fehlern suchen:

{% block field_row %}
{% spaceless %}    
    <div class="control-group {% if errors %}error{% endif %}">
      {{ form_label(form) }}
      <div class="controls">
        {{ form_widget(form) }}        
        {{ form_errors(form) }}        
      </div>
    </div>    
{% endspaceless %}
{% endblock field_row %}
18
jkucharovic

Für eine tiefere Anpassung der Form mache ich:

<div class="form-group {% if form.MYFORMINPUT.vars.valid==false %}has-error{% endif %}">
//some twisted divs
{{form_label(form.MYFORMINPUT)}}
{{form_widget(form.MYFORMINPUT)}}
</div>

Sf2.5

12
d3uter

Das ist was ich benutze:

 <div class="form-group {{ form.brand.vars.errors|length > '' ? 'has-error' }}">
0
mrDjouk

Da ein leeres Array in false aufgelöst wird, können Sie Ihre vorhandene Prüfung auf verkürzen

{% if form.WIDGET_NAME.get('errors') %}
0
Riccardo Galli