TYPO3 Specific URL 成功发送表单

TYPO3 Specific URL for successfully sent form

使用 TYPO3 10 LTS,我在 https://example.com/contacts

有联系表

我使用具有相同 url https://example.com/contacts 和一些查询字符串的“确认完成器”和 post.

我需要另一个特定的 URL 用于表单成功提交的时间,所以我使用了这个路由增强器:

routeEnhancers:
  ContactForm:
    type: Extbase
    extension: Form
    plugin: Formframework
    routes:
      - routePath: '/submit'
        _controller: 'FormFrontend::perform'
    defaultController: 'FormFrontend::perform'

现在提交的表单的 URL 是:https://example.com/contacts/submit

问题是即使表单有错误(例如:验证码错误)也会出现此 URL,所以它还没有真正完成。

有没有办法让特定的URL只有在表单提交成功后才出现?

您可以在表单定义中使用 Redirect finisher

这只会在成功提交后触发,最后你会得到一个不同的URL。

作为奖励,您还可以通过这种方式重新加载来防止 re-submit。