Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Symfony ChoiceType带有大数组,错误';此值无效。';_Arrays_Symfony - Fatal编程技术网

Arrays Symfony ChoiceType带有大数组,错误';此值无效。';

Arrays Symfony ChoiceType带有大数组,错误';此值无效。';,arrays,symfony,Arrays,Symfony,我有一张表格,上面有精选的字体。通过Ajax请求设置值(此选项取决于其他选项) 但是有很多选择(13200),当我提交选择正确的表单时,我有一个错误“这个值无效” 我试过100种选择,效果很好 此表单由EventsListener(简化版)生成: 有人知道为什么symfony不使用大数组吗?SelectModalType::class看起来怎么样?这是一个自定义表单类型,对吗?对不起:)。是的,这是一个自定义的选择类型。我将尝试一个基本的ChoiceType来消除这个可能的错误。我已经将表单类型

我有一张表格,上面有精选的字体。通过Ajax请求设置值(此选项取决于其他选项)

但是有很多选择(13200),当我提交选择正确的表单时,我有一个错误“这个值无效”

我试过100种选择,效果很好

此表单由EventsListener(简化版)生成:


有人知道为什么symfony不使用大数组吗?

SelectModalType::class看起来怎么样?这是一个自定义表单类型,对吗?对不起:)。是的,这是一个自定义的选择类型。我将尝试一个基本的ChoiceType来消除这个可能的错误。我已经将表单类型测试为ChoiceType,我有相同的错误
 $ff = $builder->getFormFactory();
    // function to add 'template' choice field dynamically
    $func = function ( \Symfony\Component\Form\FormEvent $e) use ($ff, $curlRequest, $builder, $rapport) {
        $data = $e->getData();
        $form = $e->getForm();

        if ($form->has('idsSouscripteur') )
        {
            $form->remove('idsSouscripteur');
        }

        $idClient = $data->getIdClient() > 0 ? $data->getIdClient() : null;
        $idsSouscripteur = count($data->getIdsSouscripteur()) > 0 ? $data->getIdsSouscripteur() : null;

        $souscripteursArray = [];
        if (!is_null($idClient)) {
            $souscripteurs = /* Request to get 'souscripteurs' objects */;

            foreach ($souscripteurs as $souscripteur) {
                $souscripteursArray[$souscripteur->nomSouscripteur] = $souscripteur->numInterne;
            }
        }

        $form
            ->add('idsSouscripteur', ChoiceType::class, [
                'label' => 'rapports.block_2.souscripteur',
                'mapped' => false,
                'multiple' => true,
                'choices' => $souscripteursArray,
                'constraints' => array(
                    new NotBlank()
                ),
                'attr' => [
                    'placeholder' => 'rapports.block_2.souscripteur_placeholder'
                ]
            ]);

        if (!is_null($idsSouscripteur)) {
            $rapport->setIdsSouscripteur($idsSouscripteur);
        }
    };

    // Register the function above as EventListener on PreSet and PreBind
    $builder->addEventListener(FormEvents::PRE_SET_DATA, $func);
    $builder->addEventListener(FormEvents::PRE_SUBMIT, $func);