【问题标题】:Invalid message doesn't show when password doesn't match its confirmation当密码与其确认不匹配时不显示无效消息
【发布时间】:2021-12-30 15:17:15
【问题描述】:

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

下面是表单类文件中的相关代码:

->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>

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

【问题讨论】:

    标签: forms validation twig symfony4 password-confirmation


    【解决方案1】:

    我已经解决了!我已经在我的表单类文件中将这一行 'first_options' =&gt; array('label' =&gt; false), 更改为这一行 'first_options' =&gt; array('label' =&gt; false,'error_bubbling' =&gt; 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 代码中添加了这一行 &lt;span class="Errormessage" style="color: red;text-align: right"&gt;{{ form_errors(registrationForm.password) }}&lt;/span&gt;,如下所示:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2022-07-06
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多