【问题标题】:Regex Validation for TreelistEx is not workingTreelistEx 的正则表达式验证不起作用
【发布时间】:2016-08-15 10:42:10
【问题描述】:

在 Sitecore 内容编辑器/页面编辑器中,当我向 TreelistEx 添加项目时,我希望 TreelistEx 只允许 12 个项目。为了实现这个解决方案,我在要限制项目的模板部分内的验证字段中添加了一个正则表达式 ^.{0,467}$。 我已经转介this article

此正则表达式在内容编辑器中正常工作。但是对于页面编辑器,每当我在 treelistEx 中添加项目时,它第一次可以正常工作,但是如果我添加/删除项目,它会在单击“确定”和项目后给我更多和更少项目的验证消息也没有保存。

理想情况下,如果项目数大于 12 并且仅在单击“保存”按钮时,它应该给出验证消息,就像它在内容编辑器中工作一样。如何在页面编辑器中解决此正则表达式验证问题?我正在使用 Sitecore 8.1

【问题讨论】:

    标签: regex sitecore sitecore8 sitecore8.1


    【解决方案1】:

    不久前我也遇到了同样的问题,由于时间有限,我实施了一种不太理想的方式,但您可以根据需要实施。

    让用户添加项目,然后只获取代码中的前 12 个。它会是这样的:

    创建一个方法来获取多播项目(为了灵活性)。

    public static MultilistField GetMultilistField(Item item, string fieldName)
    {
       if (item != null && !string.IsNullOrWhiteSpace(fieldName))
       {
          MultilistField field = item.Fields[fieldName];
          if (field != null)
          {
            return field;
          }
       }
       return null;
    }
    

    获取Miltilist字段中的项目。

    MultilistField field = GetMultilistField[DatasourceItem, "fieldName"];
    var returnList = field.GetItems().Where(c => c.TemplateName.Equals("someValidationIfYouWant")).ToList().Take(12);
    

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 2021-06-18
      • 2018-11-29
      • 2014-04-21
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多