コード例 #1
0
ファイル: ItemUtil.cs プロジェクト: Sitecore/MVP-Site
        public static string ProposeValidItemName(string name)
        {
            if (ItemUtil.IsItemNameValid(name))
            {
                return(name);
            }
            string aSCII = ItemUtil.ConvertToASCII(name.Trim());

            char[] invalidItemNameChars = _invalidItemNameChars.ToCharArray();
            for (int i = 0; i < (int)invalidItemNameChars.Length; i++)
            {
                char chr = invalidItemNameChars[i];
                aSCII = aSCII.Replace(chr.ToString(), string.Empty);
            }
            aSCII = aSCII.Trim();
            if (ItemUtil.IsItemNameValid(aSCII))
            {
                return(aSCII);
            }
            StringBuilder stringBuilder = new StringBuilder();

            for (int j = 0; j < aSCII.Length; j++)
            {
                char chr1 = aSCII[j];
                if (char.IsLetterOrDigit(chr1))
                {
                    stringBuilder.Append(chr1);
                }
                else if (char.IsWhiteSpace(chr1))
                {
                    stringBuilder.Append(" ");
                }
            }
            aSCII = stringBuilder.ToString().Trim();
            if (aSCII.Length > _maxItemNameLength)
            {
                aSCII = aSCII.Remove(_maxItemNameLength).Trim();
            }
            if (ItemUtil.IsItemNameValid(aSCII))
            {
                return(aSCII);
            }
            return(name);
        }
コード例 #2
0
ファイル: ItemUtil.cs プロジェクト: Sitecore/MVP-Site
 private static bool IsItemNameValid(string name)
 {
     return(ItemUtil.GetItemNameError(name).Length == 0);
 }