使用正则表达式验证模型

时间:2018-07-03 23:14:10

标签: c# regex nsregularexpression

您好,我正在使用以下验证方法来确保我只是在处理csv文件。

<form class="platformSelectForm" method="post" action="index.php">
  <select name="platformSelectDropDown" class="platformSelectDropDown">
    ...
  </select>
  <ul class="indent">
    <li><?php echo($description); ?></li>
    <li><?php echo($application); ?></li>
  </ul>
</form>

表单提交模型返回值之后

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

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

  

AttachmentFileName字段必须与正则表达式'(csv)|(CSV)'相匹配。

我在哪里出错?我在网站上测试了我的表情,看来效果不错。

1 个答案:

答案 0 :(得分:1)

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

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

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

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