我正在学习 symfony 4,我正在测试如何通过从表单中获取数据来更新数据库。似乎 isSubmitted 从未经过验证。这是我的控制器/** * @Route("scheduler/new", name="scheduler_create") * @Route("scheduler/{id}/edit", name="scheduler_edit") */public function form(Task $task = null, Request $request, EntityManagerInterface $manager){ if(!$task) { $task = new Task(); } $form = $this->createForm(TaskType::class, $task); $form->handleRequest($request); if($form->isSubmitted() && $form->isValid()){ $manager->persist($task); $manager->flush(); return $this->redirectToRoute('scheduler_show', ['id' => $task-> getId()]); } return $this->render('scheduler/create.html.twig', [ 'formTask' => $form->createView(), 'editMode'=> $task->getId() !== null ]);}我的看法 :{% extends 'base.html.twig' %}{% form_theme formTask 'bootstrap_4_layout.html.twig' %}{% block body %} <h1> Création d'une tâche </h1> {{ form_start(formTask) }} <p> Inscrire ici le nom souhaité pour la tâche : {{form(formTask.title, {'attr' : {'placeholder' : "Titre de la tâche"} }) }} Veuillez d'écrire l'objet de la tâche : {{form(formTask.content, {'attr' : {'placeholder' : "Description de la tâche"} }) }} Séléctionner le groupe destinataire de la tâche : {{form(formTask.groupe) }} </p> <p> A quelle date et souhaitez vous executer la tâche ? {{form(formTask.launch_date) }} </p> {{form(formTask.activer) }} <button type="submit" class="btn btn-success"> {% if editMode %} Sauvegarder les modifications {% else %} Sauvegarder la tâche {% endif %} </button> {{ form_end(formTask) }}{% endblock %}我已经使用 symfony 工作了 2 周,所以没那么久。我正在关注一个在线教程,它一直有效,直到现在我看不到任何错误消息,也不知道该如何解决。
2 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
为了使这样的按钮起作用,它必须在{{ form_start(your_form) }} {{ form_end(your_form) }}
树枝标签内
否则它不会算作表单提交按钮
你可以通过使用来解决这个问题$builder->add('submit', SubmitType::class);
讨论后编辑:
要自定义表单行的呈现,form_row(form.children)
应该使用而不是form(form.children)
因为这将显示表单错误等所有信息。
喵喵时光机
TA贡献1846条经验 获得超7个赞
我有同样的问题:我尝试使用按钮提交,但它不起作用!我忘了放一个 {{ form_start(my_form) }} ..... {{ form_end(my_form) }}
- 2 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消