当前位置: 首页 > 知识库问答 >
问题:

Symfony 3-render_false窗体不工作

时恩
2023-03-14

我正在Symfony3中处理一个项目,我对render_false有一个问题。

我得做一个动态表单。窗体的字段将取决于对象的值。而且有很多可能性。

我在控制器上进行所有这些处理,并返回一个数组,其中包含我必须显示的所有字段。

然后,我在Twig上显示那些字段。但是,我不想把剩下的。因此我使用了以下选项:{{form_end(form,{'render_rest':false})}}

但是Symfony回报我

“类型错误:传递给Bill::SetentreeAutomateInput()的参数%1的类型必须为string(给定null)”

我的印象是Symfony在我的字段为“”时用null填充,有可能对此进行补救?

这是我的edit.html.twig:

    {{ form_row(form.save, {'attr': {'class': 'ui button'}}) }}
    {{ form_widget(form._token) }}
    {{ form_end(form, {'render_rest': false}) }}

非常感谢大家

编辑:如果我使用

{{ form_rest(form) }}

它工作,但当然,这不是我想做的,因为它显示所有的字段

编辑2:如果可以帮助,在调试器中,当我尝试用以下方法提交请求时,控制器失败:

$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
  $em = $this->getDoctrine()->getManager();
  $em->persist($bill);
  $em->flush();

它在第一行失败

共有1个答案

萧宁
2023-03-14

如果它能帮助某人。这不是一个干净的解决方案,但目前,我将使用它。

您可以使用:

  <div id="divCheckbox" style="display: none;">
         {{ form_rest(form) }}
    </div>

它将隐藏您想要隐藏的字段,并且您将能够保存您的表单。

 类似资料:
  • 新反应和工作在现有的项目。我想当选择元素更改(onInstrumentS选正确地称为),填补其他字段的形式与它的相关值,但不工作。我可以得到正确的数据(在console.log检查),但不能通过相关的新数据填充表单。 试答试答

  • 首先感谢您的关注。我正试图在一个视图中处理多个表单,但a对此并不幸运。 view.php 结果如下: 和控制台输出(无错误) 我想我已经选择了正确的方式来渲染我所有的模型对象的形式?哈?

  • 因此,我使用createQuery连接到我的symfony数据库,其原则如下 在url:http://localhost/symfony/web/app_dev.php/json,现在我要在Android(eclipse Android)上导出结果(jsonreponse),并在那里显示响应!我怎么能那么做? 我在google上找到了这段关于在Android上显示json代码的代码,但我不知道如何

  • 本文向大家介绍symfony3 3. Windows系统,包括了symfony3 3. Windows系统的使用技巧和注意事项,需要的朋友参考一下 示例 您必须将php添加到您的路径环境变量中。请遵循以下步骤: Windows 7的 : 右键单击“我的电脑”图标 单击属性 点击左侧导航栏中的高级系统设置 单击高级选项卡 单击环境变量按钮 在“系统变量”部分中,选择“路径(不区分大小写)”,然后单击

  • 我有一个模型类和一个控制器。我在post man的正文中发布json类型的数据。但每次我都会收到一个不受支持的媒体类型415错误。这是我的模型课: 我的控制器是: 我已经用HttpServletRequest代替@RequestBody,它起到了作用。但为什么在我使用@RequestBody时它不工作呢? 这是邮递员的快照。这是邮递员请求的图片 这是请求中使用的标题的屏幕截图

  • 我是新手。 这是我的设置:/apache2.2php5.3。6窗口7/ 我在Apache/htdocs/test/index中有以下代码。php 我使用PoEdit在locale/de_de/LC_MESSAGES/MESSAGES下生成必要的翻译。po 当我访问,结果是Hello World!当它应该是霍尔贴边! 作为测试,我打开命令提示符并导航到测试文件夹。然后我打了进去 控制台中显示的结果是