【发布时间】:2014-10-07 04:34:28
【问题描述】:
当我尝试将render an error message 关联到repeated password field 时遇到了问题。问题是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>
........
但是,如果我使用form_row,
{{ 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>
........
错误显示在密码文本框的顶部(这不是我放置错误的区域,因为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'))));
【问题讨论】:
标签: forms validation symfony error-handling password-confirmation