我想在bootstrap工具提示中显示表单错误消息。
<div class="btn-upload" data-toggle="tooltip" data-html="true" data-title="{% if document.documentFile.vars.errors|length > 0 %}<span class='text-danger'>{{ form_errors(document.documentFile) }}</span>{% endif %}">
它应该在图标上的工具提示中显示表单错误。
但是消息显示如下:
现在,如果我将{{ form_errors(document.documentFile) }}
更改为“TEST MESSAGE”:
所以问题是工具提示中的表单错误呈现。任何想法如何解决它?
答案 0 :(得分:0)
默认情况下,错误会在无序列表中呈现:
<ul>
<li>The file is to large bla bla bla</li>
</ul>
要覆盖为所有字段呈现错误的方式,只需复制,粘贴和自定义form_errors片段。
<div class="btn-upload" data-toggle="tooltip" data-html="true" data-title="{% if document.documentFile.vars.errors|length > 0 %}<span class='text-danger'>
{% block form_errors %}
{% spaceless %}
{% if errors|length > 0 %}
{% for error in document.documentFile %}
{{ error.message }}
{% endfor %}
{% endif %}
{% endspaceless %}
{% endblock form_errors %}
</span>{% endif %}">
</div>
答案 1 :(得分:0)
{{ form_errors(document.documentFile) }}
使用"
呈现破坏div的HTML。
考虑这样做:
<div class="btn-upload" data-toggle="tooltip" data-html="true" id="error-tooltip">
<script type="text/html" id="form-error">
{% if document.documentFile.vars.errors|length > 0 %}
<span class='text-danger'>{{ form_errors(document.documentFile) }}</span>
{% endif %}
</script>
<!-- ... -->
</div>
而且,在你的JS中:
$('#error-tooltip').data('tooltip', $('#form-error').html());
答案 2 :(得分:0)
我终于想出了一种简单的方法来实现它,因为它可以预测document.documentFile.vars.errors
的错误。与Favian的答案有点类似,但没有重写一个块。
<div class="btn-upload" data-toggle="tooltip"
{% if document.documentFile.vars.errors|length > 0 %}
data-html="true"
data-title="<span class='text-danger'>
{% for error in document.documentFile.vars.errors %}
{{ error.message }}
{% endfor %}
</span>"
{% endif %}
>
工作得很好!