我想在提交表单并保存记录之前使用电子邮件地址检查现有记录。我做了一些研究,大多数人建议使用 RecordService.RecordSubmitted 事件,但是当我检查 Form.Core.Services 时,我看不到任何 RecordService。
有没有其他方法可以挂钩该事件。
我正在使用 Umbraco 7.4.3 并形成 4.3.2
我想在提交表单并保存记录之前使用电子邮件地址检查现有记录。我做了一些研究,大多数人建议使用 RecordService.RecordSubmitted 事件,但是当我检查 Form.Core.Services 时,我看不到任何 RecordService。
有没有其他方法可以挂钩该事件。
我正在使用 Umbraco 7.4.3 并形成 4.3.2
你有几个选择。一种是使用其中一种记录存储事件。这些包含在以下命名空间中:
Umbraco.Forms.Data.Storage.RecordStorage
以下事件可用:
我不能 100% 确定您是否可以删除 RecordInserting 事件中的记录,因为那时它可能不在数据库中,我实际上没有尝试过。
另一种选择是编写一个自定义工作流,该工作流在插入记录后运行,查找重复项并在记录重复时删除该记录。在 Umbraco 社区网站上有一些文档。
最后,您可以创建一些自定义验证,使用该电子邮件地址搜索现有记录并使用 JQuery 或类似方法将其连接,如果验证失败则不提交表单。