php 找不到Symfony 4 isClicked方法

mwkjh3gx  于 2023-03-11  发布在  PHP
关注(0)|答案(2)|浏览(258)

我试图创建一个简单的表单,我需要检查是否点击了提交按钮。我检查了Symfony文档,它告诉使用“isClicked()”方法。我试图使用它,但在我的项目中找不到该方法。
我尝试包括Symfony\Component\Form\ClickableInterface并更改按钮类型。

public function play(WordRepository $rep, Request $request)
{
    $form = $this->createFormBuilder()
        ->add("submit",SubmitType::class)->getForm();

    $form->handleRequest($request);

    $form->get("submit")->isClicked();

    return $this->render(
        "review.html.twig"
    );
}

我是否需要使用Composer添加一些内容,或者我是否做错了什么?

aamkag61

aamkag611#

所以你的IDE在抱怨?说isClicked不存在?但是代码本身工作得很好?
只需要做一些类型转换。IDE知道$form-〉get将返回一个FormInterface。但是,有点遗憾的是,FormInterface没有isClicked方法。您需要告诉IDE您希望返回一个可单击的对象。

$form->handleRequest($request);

    /** @var ClickableInterface $button  */
    $button = $form->get("submit");
    $button->isClicked();

有点奇怪,以前从来没有出现过这种情况。也许在某个地方有一个轻微的代码调整。

afdcj2ne

afdcj2ne2#

您可以执行以下操作:

if ($form->isSubmitted() ) {
        //...
    }

相关问题