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