gpt4 book ai didi

sitecore - 如何验证代码中的项目?

转载 作者:行者123 更新时间:2023-12-04 06:06:44 25 4
gpt4 key购买 nike

我为 item:created 事件创建了一个事件处理程序,以从项目名称中删除空格,但将它们保留在显示名称中,这工作正常但我遇到的问题是,如果我创建两个同名的项目 我想触发一些验证,以便在内容编辑器中,用户可以在快速操作栏中看到验证结果。

在创建我自己的事件之前,sitecore 过去常常在快速操作栏中显示断开的链接图标,但现在不会了。如何从代码调用验证?

最佳答案

您应该能够通过使用 ValidatorManager 对象在代码中调用一个或多个验证器。如果您传入一个代表验证器的项目和一个您尝试验证的项目,您应该能够执行验证器。

var validatorItem = Sitecore.Data.Database.GetDatabase("master").GetItem("/sitecore/system/Settings/Validation Rules/Item Rules/Item/Duplicate Name");
var validator = ValidatorManager.BuildValidator(validatorItem, Sitecore.Context.Item);

validator.Validate(new ValidatorOptions(false));

if(!validator.IsValid)
{
Response.Write("Error level: " + validator.Result.ToString() + "<br />");
Response.Write("Error Message: " + validator.Name + "<br />");
}
else
{
Response.Write("All ok !");
}

此示例显示了单个验证器,但管理器也支持验证器集合,只需深入研究一下对象 :)

如果您正在创建自己的验证器,您可以查看 here for a tutorial确保您继承自 StandardValidator

希望有更好的答案 :P

关于sitecore - 如何验证代码中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8261765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com