我已经阅读了一些回答这个问题的问题,并且我了解我需要使用的正则表达式,但是实际上在 MVC 中应用它是我绊倒的地方。我也会先说我到目前为止在正则表达式方面很糟糕。
我正在 MVC 中编写文件上传应用程序,我想应用标准的 Windows 文件名验证。\/:*?"<>|
是名称中任何位置的无效字符。
我的视图模型是这样设置的,使用我发现的不同正则表达式:
public class FileRenameModel
{
[RegularExpression(@"^[\w\-. ]+$", ErrorMessage="A filename cannot contain \\ / : * ? \" < > |")]
[Required]
public string Filename { get; set; }
[Required]
public int FileID { get; set; }
}
每当我尝试将正则表达式更改为@"^[\\/:?"<>|]+$
中间的“”时,都会杀死它并引发错误。我还没有弄清楚如何正确转义它以便将其包含在字符串中。当我使用没有“它的正则表达式”时告诉我我放入文本框中的任何字符串都失败了。我使用^
不正确吗?