【问题标题】:symfony2 2.3 missing FormBuilder::addValidator() how to adapt to FormBuilderInterface?symfony2 2.3缺少FormBuilder::addValidator()如何适配FormBuilderInterface?
【发布时间】:2013-09-25 13:24:27
【问题描述】:

最近的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”取代,但对于重写此功能需要采取哪些步骤,我仍然有些困惑。

【问题讨论】:

    标签: validation symfony formbuilder


    【解决方案1】:

    由于 CallbackValidator 实现的 Symfony 2.1 FormValidatorInterface 已被弃用,并在 2.3 中被删除。

    Upgrade to 2.1 file 给出解决方案:

    接口 FormValidatorInterface 已被弃用,将在 Symfony 2.3 中删除。

    如果您使用此接口实现了自定义验证器,则可以用监听 FormEvents::POST_BIND(或任何其他 *BIND 事件)的事件侦听器替换它们。如果您使用了CallbackValidator 类,您现在应该将回调直接传递给addEventListener

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      相关资源
      最近更新 更多