我正在學習 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 tache </h1> {{ form_start(formTask) }} <p> Inscrire ici le nom souhaité pour la tache : {{form(formTask.title, {'attr' : {'placeholder' : "Titre de la tache"} }) }} Veuillez d'écrire l'objet de la tache : {{form(formTask.content, {'attr' : {'placeholder' : "Description de la tache"} }) }} Séléctionner le groupe destinataire de la tache : {{form(formTask.groupe) }} </p> <p> A quelle date et souhaitez vous executer la tache ? {{form(formTask.launch_date) }} </p> {{form(formTask.activer) }} <button type="submit" class="btn btn-success"> {% if editMode %} Sauvegarder les modifications {% else %} Sauvegarder la tache {% 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 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消