양식 필드 오류 렌더링을위한 특정 새 블록을 정의하고 일반적인 오류 렌더링을 위해 form_errors를 변경하지 않고 유지하려고합니다. customFormTheme.html.twig
에서오류 렌더링을위한 사용자 정의 나뭇 가지 양식 블록 정의
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources:
- 'ApplicationMyBundle:Main:form/customFormTheme.html.twig'
나는 form_div_layout.html.twig
에서 복사 몇 블록을 덮어 플러스 나는 folloowing 새로운 하나를 추가했다.
{% block field_errors %}{% spaceless %}
{% if errors|length > 0 %}
<ul class="errors">
{% for error in errors %}
{% if error.messageTemplate|length %}
<li class="error">{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endspaceless %}{% endblock %}
는 그럼 난 이렇게 내보기에이 블록을 사용할 수 있기를 기대 :
<div>
{{ form_label(form.message, 'message.label'|trans({},'contact')|raw) }}
{{ form_widget(form.message, {attr: {maxlength:1000, size:1000, rows:8}}) }}
{{ field_errors(form.message) }}
</div>
그러나 나는 다음과 같은 오류가 나타납니다 나는 또한 재판을
The function "field_errors" does not exist. Did you mean "form_errors"
을 내 블록 이름 지정 text_errors
또는 textarea_errors
언급 됨 here 그러나 나는 더 운이 좋지 않았다.
아이디어가 있으십니까?
처럼 사용 "를위한 사용자 정의 전설 필드 ""''. – svassr
attr 객체를 사용하는 방법을 알아 냈습니다. 나는 내 대답을 편집했다. 건배 – svassr