如何检查LinkItemCollection中是否已存在文件?

只是

我正在使用EPiServer CMS 7.5。我有一个具有LinkItemCollection属性的块。

public virtual LinkItemCollection LinkList { get; set; }

用户可以将任何文档从“资产”窗格拖放到“链接项集合”中。如何防止用户添加链接项集合中已经存在的文档?

只是

好的,我找到了一种在表单编辑模式下检查链接项集合中重复项的方法。

我创建了一个帮助程序类,用于检查集合中的重复项:

public static class EnumerableExtensions
    {
        public static bool HasDuplicates<T>(this IEnumerable<T> subjects)
        {
            return HasDuplicates(subjects, EqualityComparer<T>.Default);
        }

        public static bool HasDuplicates<T>(this IEnumerable<T> subjects, IEqualityComparer<T> comparer)
        {
            if (subjects == null)
                throw new ArgumentNullException("subjects");

            if (comparer == null)
                throw new ArgumentNullException("comparer");

            var set = new HashSet<T>(comparer);

            foreach (var s in subjects)
                if (!set.Add(s))
                    return true;

            return false;
        }

然后,我为我的链接项集合创建了一个自定义验证器:

public class LinkItemCollectionValidator : IValidate<LinkItemCollection>
    {
        public IEnumerable<ValidationError> Validate(LinkItemCollection instance)
        {
            var errors = new List<ValidationError>();                                                
            List<string> list = new List<string>();

            foreach (var i in instance)
            {
                list.Add(i.Text);
            }

            if (list.HasDuplicates())
            {
                errors.Add(new ValidationError()
                {
                    ErrorMessage = "Duplicate content is not allowed",
                    PropertyName = "LinkList",
                    Severity = ValidationErrorSeverity.Error,
                    ValidationType = ValidationErrorType.StorageValidation
                });
            }

            return errors;
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查文件数据库中是否已存在电子邮件地址?

来自分类Dev

如何使用Python检查CSV文件中是否已存在数据

来自分类Dev

如何检查symfony2中是否已存在某个文件?

来自分类Dev

检查生成的密钥是否已存在于文件中

来自分类Dev

如何检查Matlab中是否存在文件?

来自分类Dev

如何检查wwwroot中是否存在文件?

来自分类Dev

如何检查文件中是否存在行

来自分类Dev

如何检查python中是否存在文件?

来自分类Dev

如何检查列表中是否已存在相同的日期?

来自分类Dev

如何检查列表中是否已存在项目?

来自分类Dev

如何检查列表中是否已存在相同的日期?

来自分类Dev

如何检查元素是否已存在于列表中

来自分类Dev

如何检查列表中是否已存在某项?

来自分类Dev

如何检查Redis中是否已存在会话ID

来自分类Dev

如何检查 firebase 中是否已存在值?

来自分类Dev

如何检查类是否已存在于 Django 中?

来自分类Dev

如何检查richTextBox1中的行是否已存在于文本文件中?

来自分类Dev

如何检查append元素是否已存在?

来自分类Dev

如何检查ansible中是否已下载文件

来自分类Dev

检查 SQL 中是否已存在值

来自分类Dev

SQL Server和C#-如何检查我要上传的varbinary(max)文件是否已存在于表中?

来自分类常见问题

如何从批处理文件中检查文件是否存在

来自分类Dev

如何从批处理文件中检查文件是否存在

来自分类Dev

如何检查bash中是否存在文件或文件目录?

来自分类Dev

如何从批处理文件中检查文件是否存在

来自分类Dev

如何检查文件是否已存在(如果不存在),请在Python上下载?

来自分类Dev

如何检查是否已安装openssl或cryptopp并使用系统(已安装)中实际存在的库?

来自分类Dev

如何检查是否已安装openssl或cryptopp并使用系统(已安装)中实际存在的库?

来自分类Dev

如何使用fstream :: open()检查C ++中是否存在文件

Related 相关文章

  1. 1

    如何检查文件数据库中是否已存在电子邮件地址?

  2. 2

    如何使用Python检查CSV文件中是否已存在数据

  3. 3

    如何检查symfony2中是否已存在某个文件?

  4. 4

    检查生成的密钥是否已存在于文件中

  5. 5

    如何检查Matlab中是否存在文件?

  6. 6

    如何检查wwwroot中是否存在文件?

  7. 7

    如何检查文件中是否存在行

  8. 8

    如何检查python中是否存在文件?

  9. 9

    如何检查列表中是否已存在相同的日期?

  10. 10

    如何检查列表中是否已存在项目?

  11. 11

    如何检查列表中是否已存在相同的日期?

  12. 12

    如何检查元素是否已存在于列表中

  13. 13

    如何检查列表中是否已存在某项?

  14. 14

    如何检查Redis中是否已存在会话ID

  15. 15

    如何检查 firebase 中是否已存在值?

  16. 16

    如何检查类是否已存在于 Django 中?

  17. 17

    如何检查richTextBox1中的行是否已存在于文本文件中?

  18. 18

    如何检查append元素是否已存在?

  19. 19

    如何检查ansible中是否已下载文件

  20. 20

    检查 SQL 中是否已存在值

  21. 21

    SQL Server和C#-如何检查我要上传的varbinary(max)文件是否已存在于表中?

  22. 22

    如何从批处理文件中检查文件是否存在

  23. 23

    如何从批处理文件中检查文件是否存在

  24. 24

    如何检查bash中是否存在文件或文件目录?

  25. 25

    如何从批处理文件中检查文件是否存在

  26. 26

    如何检查文件是否已存在(如果不存在),请在Python上下载?

  27. 27

    如何检查是否已安装openssl或cryptopp并使用系统(已安装)中实际存在的库?

  28. 28

    如何检查是否已安装openssl或cryptopp并使用系统(已安装)中实际存在的库?

  29. 29

    如何使用fstream :: open()检查C ++中是否存在文件

热门标签

归档