gpt4 book ai didi

forms - form_widget不显示invalid_message错误

转载 作者:行者123 更新时间:2023-12-03 08:13:34 25 4
gpt4 key购买 nike

当我尝试将render an error message关联到repeated password field时遇到了一个问题。问题是,如果我按以下方式实现 Twig ,则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实际上在文本框下方),并且也未突出显示该文本框。我尽力解决了这个问题,但是没有运气。如果您的专家可以提供任何专家指导来解决此问题,我将非常感谢。 :)

仅供引用:表单 Controller 上的重复密码
$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_row渲染字段,例如:{{ form_row(form.password.first) }},并将'error_bubbling' => true包括到要显示错误的字段中。包括此问题解决了字段突出显示和错误消息放置的问题,在我的情况下,我在first password text box下显示了错误。

工作示例

  • twig
     {{ 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>
    ........
  • form Controller
    $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,
    //here I enable error bubbling so that on the twig it will render the error under the first password text field
    'error_bubbling' => true,
    'label_attr'=>array('class'=>'col-sm-3 control-label')),
    'second_options' => array('label' => false,
    'label_attr'=>array('class'=>'col-sm-3 control-label'))));
  • 关于forms - form_widget不显示invalid_message错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228605/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com