代码之家  ›  专栏  ›  技术社区  ›  Luc Sanchez

编写器更新后表单出错

  •  0
  • Luc Sanchez  · 技术社区  · 8 年前

    在更新了composer之后,我的表单出现了这个问题。

    [2017-06-26 10:35:26] MicroCMS.CRITICAL: Symfony\Component\Form\Exception\UnexpectedTypeException: Expected argument of type "string", "MicroCMS\Form\Type\NewsletterType" given (uncaught exception) at S:\wamp\www\silex\vendor\symfony\form\FormFactory.php line 55 {"exception":"[object] (Symfony\\Component\\Form\\Exception\\UnexpectedTypeException(code: 0): Expected argument of type \"string\", \"MicroCMS\\Form\\Type\\NewsletterType\" given at S:\\wamp\\www\\silex\\vendor\\symfony\\form\\FormFactory.php:55)"} []
    

    我把表单的代码放在一起,我对所有的问题都有相同的问题:

    <?php
    
    namespace MicroCMS\Form\Type;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\Form\Extension\Core\Type\EmailType;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class NewsletterType extends AbstractType
    {
    
    public function buildForm(FormBuilderInterface $builder, array $options)     {
        $builder->add('email', EmailType::class, [
            'label'       => '',
            'required'    => true,
            'attr'        => ['autocomplete' => 'off'],
            'constraints' => new Assert\Email(['checkMX' => true]),
        ]);
    }
    
    public function getName() {
        return 'newsletter';
    }
    
    }
    

    谢谢你的帮助。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Max P.    8 年前

    我想你通过了 FormType 表单类型

    $app['form.factory']->create(\MicroCMS\Form\Type\NewsletterType::class