2011-01-10 2 views
0

Мне нужно проверить путь, который я указал в текстовом поле, правильно или нет.Для текстового поля мы можем проверить правильность пути к файлу?

i.e. означает подтверждение, необходимое для того, чтобы предложить нам найти то, что вы ввели в текстовое поле, правильно или нет.

Путь проверки в текстовом поле мы можем иметь ...............

+0

ли вы, означает синтаксически действительный, то есть имеющий форму, которая может быть файлом? Или вы имеете в виду действительность от существования, то есть потому, что путь в текстовом поле фактически существует? – eh9

ответ

0
bool r = ValidFilePath(txtPaySlipPDFTemplatePath.Text); 
private bool ValidFilePath(string path) 
{ 
    String pattern = @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$";  
    Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);  
    return reg.IsMatch(path); 
} 
+0

Это будет работать только в Windows-Systems. – basti

+0

Он также проверяет «C: \ Users \\\», что неверно. – digitguy

0

Что вы имеете в виду под «правильный путь»? В любом случае вы можете добавить CustomValidator управления на странице, в которой код позади использовать код вроде этого:

pathValidator.ServerValidate += (sender, args) => 
    { 
     args.IsValid = Directory.Exists(myTextBox.Text); 
    }; 
0

Правильные пути меняются в зависимости от файловой системы, которую вы используете. Нечто подобное может проверить, является ли действительным путь

public bool IsValidPath(String path, bool requiresFullPath = true) 
{ 
    try 
    { 
     if(requiresFullPath && !path.Contains(":")) 
      return false; 

     Directory.GetLastAccessTime(path); 
     return true; 
    } catch (ArgumentException) { return false; } 
} 
-1

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

string Path = "\\\192.168.0.1\folder\folder2\folder3\\\file.pdf"; 
+0

Этот ответ должен быть комментарием к ответу, для которого он имеет отношение, а не к отдельному ответу. – eh9

Смежные вопросы