Symfony2 - >验证 - >重复的领域

时间:2015-12-08 12:03:14

标签: php forms validation symfony

有没有办法显示两个重复字段的验证错误?目前,错误仅显示在第一个附近。

我想得到这个效果:

密码:| ___________ |
密码不是exac!
重新输入密码:| ___________ |
密码不是exac!

但现在我明白了:

密码:| ___________ |
密码不是exac!
重新输入密码:| ___________ |

1 个答案:

答案 0 :(得分:0)

我也有一个相同的解决方案,我使用formbuilder中的post_submit事件解决了它。

$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);