FileUpload Validator错误消息始终显示.net

时间:2013-08-23 14:50:21

标签: asp.net .net regex file-upload

我的代码有问题:

<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

结果如下:

my_result **

有谁知道为什么?

谢谢

**上传成功是一个标签,在btnLoad_Click结束时设置。

2 个答案:

答案 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]$)