我的代码有问题:
<asp:FileUpload ID="fulBrowse" runat="server" />
<asp:Button ID="btnLoad" runat="server" Text="Load" OnClick="btnLoad_Click" />
<asp:RegularExpressionValidator ID="fulBrowseValidator"
runat="server"
ErrorMessage="Upload Zip or Dxf files only"
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.zip|.ZIP|.dxf|.DXF)$"
ControlToValidate="fulBrowse">
</asp:RegularExpressionValidator>
即使上传的文件是ZIP或DXF,当我的函数btnLoad_Click
结束时,会显示ErrorMessage
。
结果如下:
**
有谁知道为什么?
谢谢
**上传成功是一个标签,在btnLoad_Click
结束时设置。
答案 0 :(得分:0)
尝试删除^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))
如果文件名包含数字,它也会显示错误,所以请尝试将其设置为下面的示例
<asp:RegularExpressionValidator ID="revImage" ControlToValidate="fulBrowse"
ValidationExpression="^.*\.((.zip|.ZIP|.dxf|.DXF))$"
ErrorMessage="Upload Zip or Dxf files only"
Text="" runat="server" />
答案 1 :(得分:0)
我会将验证器更改为^.+[\.zip|\.ZIP|\.dxf|\.DXF]$
,因为文件上传器会为您验证文件名(除非您正在查找特定的文件名)。您可以通过zip/dfx
扩展\.zIp|\.ZIp|...
案例匹配,也可以
使用EnableClientScript="False"
禁用客户端脚本并添加
不区分大小写的标记(?i:^.+[\.zip|\.dxf]$)