我正在使用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>
答案 0 :(得分:1)
我在我的html中发现了RegularExpressionValidator的问题。
我在aspx文件中有 ValidationExpression 分成两行 的值。只要我在aspx文件中将完整表达式放在一行中,它就会按预期开始工作。
因此,当在ASP.Net中使用RegularExpressionValidator时,似乎教训是永远不要在多行中拆分正则表达式。