当密码与其确认不匹配时,不显示无效消息

Invalid message doesn't show when password doesn't match its confirmation

我正在尝试在密码与其确认不匹配时显示错误消息。

这里是class文件形式的相关代码:

->add('password', RepeatedType::class, array(
            'required' => true,
            'invalid_message' => 'Le mot de passe et sa confirmation ne sont pas identiques',
            'type' => PasswordType::class,
            'first_options' => array('label' => false),
            'second_options' => array('label' => false),
        ))

这里是相关的 Twig 代码:

<div class="control-group">
                    <div class="input-prepend">
                        {{ form_row(registrationForm.password.first ,{'label':false,'attr':{'placeholder':'Mot de passe', 'name':'password1', 'class':'form-control', 'id':'password1', 'required data-error':'Veuillez saisir votre mot de passe'} } ) }}
                    </div>
                </div>
                <div class="control-group">
                    <div class="input-prepend">
                        {{ form_row(registrationForm.password.second ,{'label':false,'attr':{'placeholder':'Confirmation mot de passe', 'name':'password2', 'class':'form-control', 'id':'password2', 'required data-error':'Veuillez confirmer votre mot de passe'} } ) }}
                    </div>
                </div>

问题是当输入不同的密码然后验证表单时,没有显示预期的消息错误。知道如何解决这个问题吗?

我修好了!我已将表单 class 文件中的这一行 'first_options' => array('label' => false), 更改为这一行 'first_options' => array('label' => false,'error_bubbling' => true),。因此,它的代码已更改为:

->add('password', RepeatedType::class, array(
        'required' => true,
        'invalid_message' => 'Le mot de passe et sa confirmation ne sont pas identiques',
        'type' => PasswordType::class,
        'first_options' => array('label' => false,'error_bubbling' => true),
        'second_options' => array('label' => false),
    ))

此外,我在 HTML\Twig 代码中添加了这一行 <span class="Errormessage" style="color: red;text-align: right">{{ form_errors(registrationForm.password) }}</span>,如下所示:

<div class="control-group">
     <div class="input-prepend">
          {{ form_row(registrationForm.password.first ,{'label':false,'attr':{'placeholder':'Mot de passe', 'name':'password1', 'class':'form-control', 'id':'password1', 'required data-error':'Veuillez saisir votre mot de passe'} } ) }}
          <span class="Errormessage" style="color: red;text-align: right">{{ form_errors(registrationForm.password) }}</span>
     </div>
</div>
<div class="control-group">
    <div class="input-prepend">
         {{ form_row(registrationForm.password.second ,{'label':false,'attr':{'placeholder':'Confirmation mot de passe', 'name':'password2', 'class':'form-control', 'id':'password2', 'required data-error':'Veuillez confirmer votre mot de passe'} } ) }}
    </div>
</div>