ASP.Net中的RegularExpressionValidator,用于检查FileUpload控件中的文件扩展名

时间:2013-06-14 15:47:03

标签: asp.net regex validation file-upload

我正在使用RegularExpressionValidator来确保客户端通过ASP.Net文件上传控件上传的文件扩展名为“.txt”而不是其他任何内容。

但即使我上传.txt文件,验证程序仍会显示错误消息。

我的代码如下。 即使使用txt文件导致它出错的RegularExpressionValidator有什么问题?

<asp:FileUpload ID="FileUpload1" CssClass="formfield" runat="server" EnableViewState="true" />

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
 runat="server" ErrorMessage="* Only Files with txt extensions are allowed!"
 ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))
 +(.txt)$" ControlToValidate="FileUpload1" SetFocusOnError="true" 
 Display="Dynamic"></asp:RegularExpressionValidator>

1 个答案:

答案 0 :(得分:1)

我在我的html中发现了RegularExpressionValidator的问题。

我在aspx文件中有 ValidationExpression 分成两行 的值。只要我在aspx文件中将完整表达式放在一行中,它就会按预期开始工作。

因此,当在ASP.Net中使用RegularExpressionValidator时,似乎教训是永远不要在多行中拆分正则表达式