Валидация имён узлов xml-документа

178
03 октября 2018, 17:30

Имеется возможность добавлять объекты с пользовательским именем (textBox + AddButton) в список. Далее, на основе имен этих объектов будут генерироваться узлы xml-документа. Очевидно, что у названий узлов xml есть ограничения (например, запрет на кириллицу, запрет на имя, которое начинается с цифры и т.д.). Имеется ли способ валидации имени на этапе его ввода в TextBox, т.е. непосредственно до генерирования документа? Или в методе проверки создавать xml-документ и проверять, не выкинет ли он исключение? По-моему, это костыль какой-то =) Спасибо за внимание

Answer 1
try
{
    XmlConvert.VerifyName(name);
    return true;
}
catch
{
   return false;
}

Решение найдено тут Правда этот метод пропускает кириллицу.. Поскольку xml может содержать кириллицу, в зависимости от кодировки

Запрет на ввод кириллицы:

if (new Regex(@"\p{IsCyrillic}+").Matches(nameNewObject).Count > 0)
{
     return false;
}

Как правильно заметили в комментариях, логичнее разрешить ввод необходимых символов, нежели запрещать кириллицу.

if (Regex.IsMatch(nameNewObject, @"^[a-zA-Z0-9]+$"))
{
    return true;
}
READ ALSO
Создание массивов из текста

Создание массивов из текста

У меня например есть строка

153
jQuery - картинки по одному пути

jQuery - картинки по одному пути

Сегодня я столкнулся с проблемойЯ загружаю на свой сайт картинку, процесс сохранения работает исправно

141
Реализация авторизации на cookies + session + db

Реализация авторизации на cookies + session + db

В случае успеха происходит процесс авторизации (создание необходимых связей cookies + session + db)Обратите внимание, что в db тоже должна быть связь...

173
Музыка как в VK [закрыт]

Музыка как в VK [закрыт]

Подскажите, как сделать на сайте музыку, что-бы не пропадала при обновлении страницы(как в социальных сетях)??

159