似乎在最新版本的symfony2中,FormBuilder的addValidator函数已经消失。 Anyonw知道如何重写该功能吗?
这是我的2.0代码:
$builder-> addValidator(new CallbackValidator(function(FormInterface $form){
$email = $form->get('email')->getData();
if (empty( $email )) {
$form['email']->addError(new FormError("Du måste ange en epostadress för användaren"));
}
}));
据我所知,FormBuilder已被2.1中的“FormBuilderInterface”取代,但我仍然对我需要采取哪些步骤来重写此功能感到困惑。
答案 0 :(得分:4)
由于FormValidatorInterface
实施的Symfony 2.1 CallbackValidator
已弃用,已在2.3中删除。
Upgrade to 2.1 file提供解决方案:
接口
FormValidatorInterface
已弃用,将在Symfony 2.3中删除。如果使用此接口实现了自定义验证器,则可以通过监听
FormEvents::POST_BIND
(或任何其他*BIND
事件)的事件侦听器替换它们。如果您使用CallbackValidator
类,现在应该将回调直接传递给addEventListener
。