2017-06-29 88 views
0

使用作曲家更新后,我的表单上出现此问题。作曲家更新后出现表格错误

[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'; 
} 

} 

谢谢您的帮助。

回答

0

我认为你通过FormType对象而不是FormType类名。找到您创建此表单并将其更改为的代码:

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