에 연결된 render an error message
을 시도 할 때 문제가 발생했습니다. 내가 form_row
를 사용하는 경우이 문제는form_widget이 invalid_message 오류를 표시하지 않습니다.
{{ form_start(form, {'attr': {'class': 'form-horizontal', 'role': 'form', 'novalidate': 'novalidate'}}) }}
<div class="form-group {% if form.password.vars.errors|length > 0 %}has-error{% endif %} {% if form.password.vars.required == 'true' %}required{% endif %}">
{{ form_label(form.password.first, "Password") }}
<div class="col-sm-8">
{{ form_row(form.password.first) }}
<span class="help-block">{{ form_errors(form.password) }}</span>
</div>
</div>
<div class="form-group {% if form.password.vars.errors|length > 0 %}has-error{% endif %} {% if form.password.vars.required == 'true' %}required{% endif %}">
{{ form_label(form.password.second, "Confirm password") }}
<div class="col-sm-8">
{{ form_row(form.password.second) }}
</div>
</div>
........
오류는 암호 텍스트 상자 위에 (에 표시됩니다, 그러나, 다음과 같이 내가 나뭇 가지를 구현하는 경우 invalid_message
가 렌더링되지 않습니다
{{ form_start(form, {'attr': {'class': 'form-horizontal', 'role': 'form', 'novalidate': 'novalidate'}}) }}
<div class="form-group {% if form.password.vars.errors|length > 0 %}has-error{% endif %} {% if form.password.vars.required == 'true' %}required{% endif %}">
{{ form_label(form.password.first, "Password") }}
<div class="col-sm-8">
{{ form_widget(form.password.first) }}
<span class="help-block">{{ form_errors(form.password) }}</span>
</div>
</div>
<div class="form-group {% if form.password.vars.errors|length > 0 %}has-error{% endif %} {% if form.password.vars.required == 'true' %}required{% endif %}">
{{ form_label(form.password.second, "Confirm password") }}
<div class="col-sm-8">
{{ form_row(form.password.second) }}
</div>
</div>
........
입니다 실제로 span
이 텍스트 상자 아래에 있으므로 오류를 배치 한 영역이 아니며 텍스트 상자를 강조 표시하지 않습니다. 나는이 문제를 해결하기 위해 최선을 다했지만 행운이 없다. 전문가가이 문제를 해결하기위한 전문가의 지침을 제공 할 수 있다면 정말 감사 할 것입니다. :)
:이 솔루션은 간단하고이를 게시하고있는 폼 컨트롤러
$builder->add('password', 'repeated', array('type' => 'password',
'required' => true,
'invalid_message' => ErrorMessages::PASSWORDS_DONOT_MATCH,
'options' => array('attr' => array('class' => 'password-field form-control')),
'first_options' => array('label' => false,
'label_attr'=>array('class'=>'col-sm-3 control-label')),
'second_options' => array('label' => false,
'label_attr'=>array('class'=>'col-sm-3 control-label'))));