Проверка регулярных выражений для TreelistEx не работает

В редакторе контента Sitecore / редакторе страниц, когда я добавляю элементы в TreelistEx, я бы хотел, чтобы TreelistEx разрешал только 12 элементов. Чтобы достичь этого решения, я добавил регулярное выражение ^.{0,467}$ в поле проверки внутри раздела шаблона, в котором я хочу ограничить элементы. Я указал эта статья

Это регулярное выражение правильно работает в редакторе содержимого. Но для редактора страниц всякий раз, когда я добавляю элементы в treelistEx, он работает нормально в первый раз, но снова, если я добавляю/удаляю элементы, он дает мне сообщение проверки как для большего, так и для меньшего количества элементов сразу после нажатия «ОК» и элементов тоже не сохраняются.

В идеале он должен выдавать сообщение о проверке, если количество элементов больше 12 и только при нажатии кнопки «Сохранить» так же, как это работает в редакторе содержимого. Как я могу решить эту проблему проверки Regex в редакторе страниц? Я использую Sitecore 8.1.


person Babita    schedule 15.08.2016    source источник


Ответы (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);
person Stelios    schedule 20.08.2016