对于textbox,我们可以进行文件路径验证吗?

时间:2011-01-10 07:34:32

标签: c# asp.net visual-studio-2010

我需要检查我在文本框中指定的路径是否正确。

即。表示需要进行验证,以建议我们找到您在文本框中输入的内容是否正确。

文本框中的路径验证我们可以...............

4 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

“正确的道路”是什么意思?无论如何,您可以在页面中添加CustomValidator控件,在其代码后面使用一些代码,如下所示:

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

答案 2 :(得分: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; }
}

答案 3 :(得分:-1)

如果下一个示例中的路径中有两个斜杠,则正则表达式不起作用:

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