2016-10-10 5 views
0

フォームエラーがFosUserパスワードリセットフォームで表示される方法を変更しようとしています。私はデフォルトでのように上記のパスワードフォームの下にエラーメッセージを表示したい。FosUserパスワードリセットフォームを無効にする

これにformType

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('plainPassword', LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\RepeatedType'), array(
     'type' => LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\PasswordType'), 
     'options' => array('translation_domain' => 'FOSUserBundle'), 
     'attr' => [ 
      'class' => 'form-group has-feedback' 
     ], 
     'first_options' => array('label' => false, 
      'attr' => [ 
       'placeholder' => 'New Password' 
      ] 
      ), 
     'second_options' => array('label' => false, 
      'attr' => [ 
       'placeholder' => 'Repeat Password' 
      ]), 
     'invalid_message' => 'fos_user.password.mismatch', 
    )); 
} 

テンプレート

<body class="reset-page"> 
<div class="reset-box"> 
    <div class="logo"> 
     <a href=""> 
      <img src=""> 
     </a> 
    </div> 
    <div class="reset-box-body"> 
    {{ form_start(form, { 'action': path('fos_user_resetting_reset', {'token': token})}) }} 
     {% for passwordField in form.plainPassword %} 
      <div class="form-group has-feedback"> 
       {{ form_widget(passwordField, { 'attr': {'class': 'form-control'} }) }} 
       {{ form_errors(passwordField, { 'attr': {'class': 'form-error'} }) }} 
      </div> 
     {% endfor %} 

     <input type="submit" class="btn btn-primary btn-block" value="Submit" /> 

    {{ form_end(form) }} 
    </div> 
</div> 

が、結果において、すべてのエラーがフォーム上にレンダリングされます。

+0

[デフォルトのFOSUserBundleテンプレートを無効にする、効果なし](http://stackoverflow.com/questions/24729115/overriding-default-fosuserbundle-template-no-effect)可能な複製 – Stannio

答えて

-1

{form_errors(passwordField、{'attr':{'class': 'フォームエラー'}}}}}セクションを、エラーを表示して動作させる場所に移動します。今はエラーがフォームに表示され、その場所は設定されています。希望が助けてくれる!