2011-01-10 5 views
0

텍스트 상자에 지정한 경로가 올바른지 확인해야합니다.텍스트 상자의 경우 파일 경로 유효성 검사를 할 수 있습니까?

즉, 입력란에 입력 한 내용이 맞는지 여부를 확인하는 데 필요한 유효성 검사를 의미합니다.

텍스트 상자 우리가 가질 수있는

경로 확인 ...............

+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 시스템에서만 작동합니다. – basti

+0

올바르지 않은 'C : \ Users \\\'도 유효한지 확인합니다. – digitguy

0

당신이 "올바른 길"이란 무엇을 의미합니까?

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

유효한 경로가 사용중인 파일 시스템에 따라 달라집니다 : 어쨌든 당신은 누구의 코드에서 뒤에이 같은 일부 코드를 사용하여 페이지에 CustomValidator 컨트롤을 추가 할 수 있습니다. 이 같은 뭔가 경로가

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

관련 문제