我正在尝试在表单出错时实现引导样式,并且我已经成功了...但是以一种非常乏味的方式。例如:
<div class="form-group">
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
{{ form_errors(form.name) }}
</div>
当表单中有错误时,我想将“has-danger”类添加到相应的div中以自定义视图。这样就会是这样的:
<div class="form-group has-danger">
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
{{ form_errors(form.name) }}
</div>
我想出了一个不太漂亮的方法:
<div class="form-group {% if form.name.vars.errors|length > 0 %}has-danger{% endif %}">
问题是我必须将此代码添加到我网站上所有表单的所有字段中,我看不太清楚。
有任何想法吗?谢谢。
你应该看看form themes,因为他们已经集成了Bootstrap CSS。最有可能你只需要使用bootstrap_4_layout.html.twig
而不是form_div_layout.html.twig
作为config/packages/twig.yaml
中的表单主题:
twig:
...
form_themes:
- bootstrap_4_layout.html.twig
如果这还不够,您可以根据需要自定义表单的每个片段,然后在表单中使用它。更多方面和信息在docs的同一部分。