为了账号安全,请及时绑定邮箱和手机立即绑定

Symfony 提交按钮不起作用 IsSubmitted 从未验证

Symfony 提交按钮不起作用 IsSubmitted 从未验证

PHP
ABOUTYOU 2023-05-26 14:23:08

我正在学习 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贡献1771条经验 获得超7个赞

为了使这样的按钮起作用,它必须在{{ form_start(your_form) }} {{ form_end(your_form) }}树枝标签内

否则它不会算作表单提交按钮

你可以通过使用来解决这个问题$builder->add('submit', SubmitType::class);

讨论后编辑:

要自定义表单行的呈现,form_row(form.children)应该使用而不是form(form.children)因为这将显示表单错误等所有信息。

为了更精确的处理,你可以参考symfony 文档


查看完整回答
反对 回复 3天前
?
喵喵时光机

TA贡献1664条经验 获得超7个赞

我有同样的问题:我尝试使用按钮提交,但它不起作用!我忘了放一个 {{ form_start(my_form) }} ..... {{ form_end(my_form) }}



查看完整回答
反对 回复 3天前
  • 2 回答
  • 0 关注
  • 8 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信