Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Forms Symfony form builder仅在字段按给定顺序排列时才起作用_Forms_Symfony - Fatal编程技术网

Forms Symfony form builder仅在字段按给定顺序排列时才起作用

Forms Symfony form builder仅在字段按给定顺序排列时才起作用,forms,symfony,Forms,Symfony,以下是工作代码: $formBuilder = $this->get('form.factory')->createBuilder('form', $scene); $formBuilder->add('text', 'textarea', array('required' => false)); $formBuilder->add('duration', 'time', array('with_seconds' => true, 'input' =>

以下是工作代码:

$formBuilder = $this->get('form.factory')->createBuilder('form', $scene);
$formBuilder->add('text', 'textarea', array('required' => false));
$formBuilder->add('duration', 'time', array('with_seconds' => true, 'input' => 'string'));
$formBuilder->add('submit', 'submit');
$form = $formBuilder->getForm();

$form->handleRequest($request);
当我像这样切换线路时:

$formBuilder = $this->get('form.factory')->createBuilder('form', $scene);
$formBuilder->add('duration', 'time', array('with_seconds' => true, 'input' => 'string'));
$formBuilder->add('text', 'textarea', array('required' => false));
$formBuilder->add('submit', 'submit');
$form = $formBuilder->getForm();

$form->handleRequest($request);
它不再工作了:
duration
的值变成了
0
,而不是
00:00:00
的形式

我没有显示它们的模板。在我的小树枝页面中,我简单地使用
{{form(form)}


发生了什么事?我复制了你的代码,发现有任何错误,你应该可以更改行的顺序。但间接的解决方案是将第一个示例中的代码保留下来,并在细枝模板中操纵顺序:

    {{ form_errors(form) }}
    {{ form_row(form.duration) }}
    {{ form_row(form.text) }}
    {{ form_rest(form) }}

请张贴“当我切换线路时”的代码,以便我们可以查看您切换线路的方式是否有问题。包括表单呈现的模板(如果有)也可能有帮助