我试图创建一个简单的表单,我需要检查是否单击了提交按钮。我检查了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添加某些内容还是做错了什么?
答案 0 :(得分:2)
那么您的IDE正在抱怨吗?说isClicked不存在?但是代码本身可以正常工作吗?
只需执行某种类型转换。 IDE知道$ form-> get将返回FormInterface。但是,令人遗憾的是,FormInterface没有isClicked方法。您需要告诉IDE您希望返回可点击的对象。
$form->handleRequest($request);
/** @var ClickableInterface $button */
$button = $form->get("submit");
$button->isClicked();
奇怪的是,这从来没有出现过。也许在某个地方有一些轻微的代码调整。
答案 1 :(得分:0)
您可以这样做:
if ($form->isSubmitted() ) {
//...
}