我试图在模态中显示我的webform(包括模态内的错误/验证消息)。我正在关注这个不是网络表单的approach for a custom drupal form。我想知道这是否可以与webforms一起使用,如果是的话,我需要考虑使其运行?
我遇到的第一个问题是示例TeacherContactController.php
$modal_form = $this->formBuilder->getForm('Drupal\tl_session\Form\TeacherForm');
当我尝试在我自己的控制器中使用它时,我无法获得webform的正确命名空间+ id。当我用devel检查我的webform时,它说:
[__CLASS__] => Drupal\webform\Entity\Webform
[id] => add_news_webform
但我得到一个“表单参数Drupal \ webform \ Entity \ Webform \ webform-submission-add_news_webform-form不是有效表单”错误。我尝试了很多东西,但没有成功。
如何使用formBuilder获取webform以及我在这里缺少什么(比如webform特定的ajax设置等)?
答案 0 :(得分:1)
您是否正在尝试对字符串中的命名空间+ ID进行硬编码?
这是我对你的问题的第一次猜测
试
$modal_form = $this->formBuilder->getForm(Drupal\tl_session\Form\TeacherForm::class);
或者可能
$modal_form = $this->formBuilder->getForm(\Drupal\tl_session\Form\TeacherForm::class);
答案 1 :(得分:0)
如果启用webform_devel.module,则可以使用提供一些示例代码的API选项卡。 (/ webform / contact / api)
@请参阅\Drupal\webform\WebformSubmissionForm::submitWebformSubmission