验证Sitecore项目名称唯一性

时间:2011-07-08 12:10:13

标签: validation sitecore sitecore6

对于sitecore项目,我需要验证项目名称的唯一性(以避免网址重叠)

可以将“重复名称”项目验证规则添加到项目的模板中(要查看这些选项,请确保在“视图”选项卡中,在内容编辑器功能区中选择“显示标准字段”)

apply the duplicate name validation rule

但是,此处提供的选项是将验证规则添加到

  • 快速操作栏
  • 验证按钮
  • 工作流程验证规则

我应该将其作为工作流验证规则应用,并启用工作流(适用于我的所有内容项)吗?这可行,但如果最终用户必须使用工作流程,那似乎需要付出很多努力。

我想要实现的是在用户尝试保存项目时使用验证消息(并使用已经使用的名称)。基本上,字段验证器在sitecore中工作

这些选择似乎都没有达到这种效果。

所以我的问题是,实现这一目标的最简单方法是什么?

3 个答案:

答案 0 :(得分:2)

验证栏验证规则 - 在内容编辑器右侧的栏中运行。

您可能希望覆盖item:saving事件或contenteditor:save命令。看看item:savedOnItemSaved事件会触发项目的规则。

如果您更改内容编辑器中的对话框或更新事件,您将需要确保您的逻辑适用于内容树的特定部分 - 即sitecore / content / home和/或可能的安全角色。

我同意关于工作流程的努力程度,但在某些情况下,可能对此和其他验证要求有充分的理解。

答案 1 :(得分:1)

答案 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>