动态将项目添加到Sitecore-项目名称必须符合格式

Eri*_*ert 1 c# regex validation sitecore pattern-matching

我的模式实际上是:

^[\w\*\$][\w\s\-\$]*(\(\d{1,}\)){0,1}$
Run Code Online (Sandbox Code Playgroud)

编辑-为清楚起见,我没有在代码中编写此模式,但是出现了一条错误消息,提示“名称不满足模式^ [\ w * \ $] [\ w \ s-\ $] *(( \ d {1,})){0,1} $”。我认为这是一个Sitecore设置?我不确定它是在哪里确定的,我自己也没有写。

我正在尝试将文章动态添加到Sitecore中,但是名称中带有句点的项目存在问题。我添加了一个功能来清理名称(从另一个Sitecore问题中借来的问题作为我的问题的答案借来了),但是它不起作用。这是我的代码:

var itemTemplateId = _templateFactory.GetTemplateId<IPressReleaseItem>();
TemplateID pressReleaseTemplateId = new TemplateID(itemTemplateId.ToID());
item = folder.Add(SanitizeHeadline(release.Headline), pressReleaseTemplateId);
Run Code Online (Sandbox Code Playgroud)
private string SanitizeHeadline(string name)
{
    char[] invalidCharacters = Sitecore.Configuration.Settings.InvalidItemNameChars;
    string sanitizedName = string.Concat(name.Trim().Split(invalidCharacters));
    return sanitizedName;
}
Run Code Online (Sandbox Code Playgroud)

我的商品名为“ VirtualInvestorConferences.com庆祝第75届活动,鼓励CEO与股东之间直接对话”

我应该手动添加“。” 无效字符列表?我想了解为什么这不起作用。

小智 5

最好使用它ItemUtil.ProposeValidItemName(name)来清除新商品名称中的无效字符。