使用正则表达式验证模型

Validating model with regular expression

您好,我正在使用如下验证来确保我正在处理一个 csv 文件。

 [RegularExpression(@"(csv)|(CSV)")]
 public string AttachmentFileName { get; set; }

表单提交模型后 returns 一个值

AttachmentFileName = "UserMapping.csv"

但是我仍然收到验证错误:

The field AttachmentFileName must match the regular expression '(csv)|(CSV)'.

我哪里做错了?我在网站上测试了我的表情,好像还可以。

您可以通过匹配整个字符串来修复它(RegularExpressionAttribute 需要完整的字符串匹配):

[RegularExpression(@"^.*[.][cC][sS][vV]$")]
public string AttachmentFileName { get; set; }

^.*[.][cC][sS][vV]$ 模式匹配

  • ^ - 字符串开头
  • .* - 任何 0+ 个字符
  • [.] - 一个点
  • [cC][sS][vV] - csv(不区分大小写)
  • $ - 字符串结尾。