当密码与其确认不匹配时,我试图显示一条错误消息。
以下是表单类文件中的相关代码:
->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>
问题是,当输入不同的密码然后验证表单时,不会显示预期的消息错误。你知道怎么解决这个问题吗?
我已经修复了!我已经将表单类文件中的'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>