Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка правильности строки с путем / 25 сообщений из 43, страница 1 из 2
24.01.2019, 12:37
    #39764198
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Хотелось бы:

юзер вводит руками путь (локальный или сетевой), хотелось бы проверить является ли эта строка путём, без физического доступа к пути.

Регулярное выражение?
...
Рейтинг: 0 / 0
24.01.2019, 12:48
    #39764211
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
256kРегулярное выражение?да. Только нафиг надо это делать на ввод каждой буквы и копи пасты.
...
Рейтинг: 0 / 0
24.01.2019, 13:15
    #39764246
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Petro123256kРегулярное выражение?да. Только нафиг надо это делать на ввод каждой буквы и копи пасты.

почему каждой буквы - после ввода всего пути.
Например, юзер вводит путь в некие сеттинги, можно проверить физически наличие пути, но это длинная операция, хотелось бы в первом приближении, если путь явно кривой синтаксически - дать ошибку.
...
Рейтинг: 0 / 0
24.01.2019, 13:34
    #39764264
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
256kюзер вводит путь в некие сеттингивыбирать в диалоге проще. Зачем заставлять писать путь с завязанными глазами?
...
Рейтинг: 0 / 0
24.01.2019, 13:35
    #39764265
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
256k,
2. Это не мыло и не телефон для такой валидации.
...
Рейтинг: 0 / 0
24.01.2019, 13:56
    #39764289
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
...
Рейтинг: 0 / 0
24.01.2019, 14:01
    #39764298
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Код: c#
1.
2.
3.
4.
5.
6.
7.
private static readonly string IllegalChars = @"^(?:[\w]\:|\\)(\\[a-z_\-\s0-9\.]+\\?)+$";
public static bool ValidatePath(string path)
{
	if (string.IsNullOrWhiteSpace(path)) return false;
	return Regex.IsMatch(path, IllegalChars,
		RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
}

Не эталон, но проверит правильность локальных и сетевых петуй
...
Рейтинг: 0 / 0
24.01.2019, 14:45
    #39764349
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Petro123256kюзер вводит путь в некие сеттингивыбирать в диалоге проще. Зачем заставлять писать путь с завязанными глазами?

ты слишком прямолинеен, не везде, где есть c# может быть диалог
...
Рейтинг: 0 / 0
24.01.2019, 14:50
    #39764356
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Roman Mejtes
Код: c#
1.
2.
3.
4.
5.
6.
7.
private static readonly string IllegalChars = @"^(?:[\w]\:|\\)(\\[a-z_\-\s0-9\.]+\\?)+$";
public static bool ValidatePath(string path)
{
	if (string.IsNullOrWhiteSpace(path)) return false;
	return Regex.IsMatch(path, IllegalChars,
		RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
}

Не эталон, но проверит правильность локальных и сетевых петуй

именно то, что мне надо, но вот вопрос:

\\d-comp11\мои файлы - false
\\d-comp11\My Files - true
...
Рейтинг: 0 / 0
24.01.2019, 14:56
    #39764361
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
регулярку поправь для русских буковок
...
Рейтинг: 0 / 0
24.01.2019, 15:03
    #39764370
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Konst_Oneрегулярку поправь для русских буковок

это-то можно сделать, то как быть с французскими? немецкими? и т.д.
пытаться все запихнуть в регулярное выражение?
...
Рейтинг: 0 / 0
24.01.2019, 15:04
    #39764371
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
вам виднее, для меня это вообще абсурдный код
...
Рейтинг: 0 / 0
24.01.2019, 15:04
    #39764373
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
допилите Reg выражение просто, оно не поддерживает русские буквы
вроде как \w включает символы допустимые в пути, но всё равно в этой проверки кое каких символов может нехватать.
можно как вариант проверять не на допустимость символов, а не допустимость. то есть искать символы запрещенные в путях, это будет более верный путь.
исправлено под ваши хотелки:
@"^(?:[\w]\:|\\)(\\[\w_\-\s\.]+\\?)+$"
...
Рейтинг: 0 / 0
24.01.2019, 15:06
    #39764379
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
256kты слишком прямолинеен, не везде, где есть c# может быть диалогесли я прямолинеен как хирург, то ты неопытен в постановке как джун.
У тебя консоль без OpenDialog?
Что мешает проверить реальный путь?
Неужели "не везде есть компьютер"?
...
Рейтинг: 0 / 0
24.01.2019, 15:07
    #39764381
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Roman Mejtesискать символы запрещенны+1
...
Рейтинг: 0 / 0
24.01.2019, 15:09
    #39764383
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Konst_Oneвам виднее, для меня это вообще абсурдный кодты прямолинеен). Надо дипломатичнее)
...
Рейтинг: 0 / 0
24.01.2019, 15:12
    #39764389
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Petro123,
с чего вы взяли, что вводимый путь физически доступен и существует возможность проверки его существования,
нигде в постановке этого не сказано, в самой проверке нет ничего плохого, она избыточно, но в этом нет ничего плохого.

тоже самое, когда проверяют файл на существование перед открытием и кидают исключение.. какой в этом смысл, если файл при открытии кинет исключение, если его не существует? такой пример проверки хуже, чем делает автор, возможно автор просто делает валидатор формы и хочет отображать поля, которые имеют невалидное значение
...
Рейтинг: 0 / 0
24.01.2019, 15:14
    #39764396
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
я думаю ТС хочет конфиги чекать в своём сервисе, которые кто-то в онлайне портит
...
Рейтинг: 0 / 0
24.01.2019, 15:15
    #39764398
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
поэтому такую проверку считаю бессмысленной, надо контролировать исключение при доступе к файлу/директории по указанному пути
...
Рейтинг: 0 / 0
24.01.2019, 15:18
    #39764402
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Konst_Oneпоэтому такую проверку считаю бессмысленной, надо контролировать исключение при доступе к файлу/директории по указанному пути
такая проверка не имеет смысл при непосредственном доступе к файлу или пути, но если это просто значение на форме, проверка вполне имеет смысл.
...
Рейтинг: 0 / 0
24.01.2019, 15:19
    #39764405
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Roman Mejtes,
Почитай ответ Konst_One
...
Рейтинг: 0 / 0
24.01.2019, 15:20
    #39764409
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Roman Mejtesона избыточно, но в этом нет ничего плохого.вот я и говорю ИЗБЫТОЧНО.
...
Рейтинг: 0 / 0
24.01.2019, 15:30
    #39764428
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Petro123256kты слишком прямолинеен, не везде, где есть c# может быть диалогесли я прямолинеен как хирург, то ты неопытен в постановке как джун.
У тебя консоль без OpenDialog?
Что мешает проверить реальный путь?
Неужели "не везде есть компьютер"?

Прямолинеен, как херурк задостанов

Кто сказал, что у меня консоль?
" Что мешает проверить реальный путь?" :
Заратустра не позволяет!

1. можно, но только в частности
2. это долго
3. может не быть прав
4. может не быть прав в этот момент
5. пример: юзер вводит путь скриптом в базу, тем более в базу в туче.
6. ...

Пэдро, тщательнее надо бы

Вопрос о шарповой функции, на вход которой идте строка с путем, а она отвечает, путь это или нет, хотя бы приблизительно.
...
Рейтинг: 0 / 0
24.01.2019, 15:42
    #39764451
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
Код: sql
1.
^(?:[a-z]\:|\\)(\\[\w\-\s\.]+\\?)+$


думаю вот такой вариант будет наилучшим вариантом.
на счет названий дисков, если мне не изменяет память, то в DOS после Z диска шел диск AA, AB,AC и т.д. На счет windows не уверен, но думаю это не очень критично
...
Рейтинг: 0 / 0
24.01.2019, 15:48
    #39764460
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правильности строки с путем
256k,
Ты работай и не отвлекайся. Даже с херовой постановкой задачи которуюСамСебеПридумал.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка правильности строки с путем / 25 сообщений из 43, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]