Hook到Umbraco Forms提交

时间:2016-07-18 14:38:36

标签: umbraco umbraco-contour

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

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

我正在使用Umbraco 7.4.3并形成4.3.2

1 个答案:

答案 0 :(得分:6)

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

Umbraco.Forms.Data.Storage.RecordStorage

可以使用以下活动:

  • RecordDeleting
  • RecordFetching
  • RecordInserting
  • RecordUpdating

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

另一种选择是编写一个自定义工作流,该工作流在插入记录后运行,查找重复项并删除记录(如果它是重复的)。在the Umbraco Community site上有一些文档。

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