2015-12-08 5 views
0

Есть ли способ отображения ошибок проверки для и повторяющихся полей? Пока что ошибка отображается только рядом с первой.

Я хочу, чтобы получить этот эффект:Symfony2 -> валидация -> повторное поле

Пароль:                           | ___________ |
                                                            пароли не exac!
Повторите пароль: | ___________ |
                                                            пароли не exac!


Но теперь я получаю это:

Пароль:                           | ___________ |
                                                            пароли не exac!
Повторите пароль: | ___________ |

ответ

0

У меня также есть одно и то же решение, и я решил его использовать событие post_submit в formbuilder.

$builder->add('email')->add('pass1')->add('pass2'); 

$myExtraFieldValidator = function(FormEvent $event){ 
      $form = $event->getForm(); 
      $pass1 = $form->get('pass1')->getData(); 
      $pass2 = $form->get('pass2')->getData(); 
      if ($pass1!=$pass2) { 
       $form['pass1']->addError(new FormError("yout error message")); 
$form['pass2']->addError(new FormError("yout error message")); 
      } 
     }; 
     $builder->addEventListener(FormEvents::POST_SUBMIT, $myExtraFieldValidator); 
+0

Благодарим за ответ! это хорошее решение, но я подумал, что будет более «элегантный» способ сделать это, в любом случае, его ценную информацию для меня и спасибо! – fraxe

+0

Да Offcoues, вы можете делать это на веточке, уровне контроллера, уровне формы или даже уровне сущности. но лучше всего иметь эту проверку на лицевой стороне, которая включает веточки и формы. –