对于sitecore项目,我需要验证项目名称的唯一性(以避免网址重叠)
可以将“重复名称”项目验证规则添加到项目的模板中(要查看这些选项,请确保在“视图”选项卡中,在内容编辑器功能区中选择“显示标准字段”)
但是,此处提供的选项是将验证规则添加到
我应该将其作为工作流验证规则应用,并启用工作流(适用于我的所有内容项)吗?这可行,但如果最终用户必须使用工作流程,那似乎需要付出很多努力。
我想要实现的是在用户尝试保存项目时使用验证消息(并使用已经使用的名称)。基本上,字段验证器在sitecore中工作
这些选择似乎都没有达到这种效果。
所以我的问题是,实现这一目标的最简单方法是什么?
答案 0 :(得分:2)
验证栏验证规则 - 在内容编辑器右侧的栏中运行。
您可能希望覆盖item:saving
事件或contenteditor:save
命令。看看item:saved
。 OnItemSaved
事件会触发项目的规则。
如果您更改内容编辑器中的对话框或更新事件,您将需要确保您的逻辑适用于内容树的特定部分 - 即sitecore / content / home和/或可能的安全角色。
我同意关于工作流程的努力程度,但在某些情况下,可能对此和其他验证要求有充分的理解。
答案 1 :(得分:1)
您可以在SDN上找到代码示例: http://sdn.sitecore.net/Snippets/Item%20Handling/Validating/Validate%20a%20particular%20field%20on%20the%20Item%20save%20event.aspx
答案 2 :(得分:0)
我有一篇博文,其中使用了项目创建/保存事件。这是使用Sitecore 7.2实现和测试的。这是使用的配置:
<sitecore>
<events>
<event name="item:creating">
<handler type="MySite.Customizations.Customized_Sitecore.UniqueItemNameValidator, MySite" method="OnItemCreating" />
</event>
<event name="item:saving">
<handler type="MySite.Customizations.Customized_Sitecore.UniqueItemNameValidator, MySite" method="OnItemSaving" />
</event>
</events>
</sitecore>