【问题标题】:Hook into Umbraco Forms submission挂钩到 Umbraco 表单提交
【发布时间】:2016-07-18 14:38:36
【问题描述】:

我想在提交表单并保存记录之前使用电子邮件地址检查现有记录。我做了一些研究,大多数人建议使用 RecordService.RecordSubmitted 事件,但是当我检查 Form.Core.Services 时,我看不到任何 RecordService。

有没有其他方法可以挂钩该事件。

我正在使用 Umbraco 7.4.3 和表格 4.3.2

【问题讨论】:

  • 如果其他人有同样的问题,RecordService 将从 Form.Core.Services 移动到 Form.Web.Services。它没有记录在任何地方

标签: umbraco umbraco-contour


【解决方案1】:

您有几个选择。一种是使用其中一种记录存储事件。它们包含在以下命名空间中:

Umbraco.Forms.Data.Storage.RecordStorage

以下事件可用:

  • 记录删除
  • 记录提取
  • 记录插入
  • 记录更新

我不能 100% 确定您是否可以删除 RecordInserting 事件中的记录,因为那时它可能不在数据库中,我实际上没有尝试过。

另一种选择是编写一个自定义工作流,该工作流在插入记录后运行,查找重复项并在记录重复时将其删除。 the Umbraco Community site 上有一些相关文档。

最后,您可以创建一些自定义验证,使用该电子邮件地址搜索现有记录并使用 JQuery 或类似方法将其连接,如果验证失败则不提交表单。

【讨论】:

  • 谢谢,有帮助。此外,我刚刚知道 RecordService 已移至 Umbraco.Forms.Web.Services,这就是为什么我无法在 Core.Services 下访问它。
猜你喜欢
  • 2018-04-05
  • 2022-12-11
  • 2023-01-17
  • 2021-03-13
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多