0

我的代码有问题:

<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结束时设置的标签。

4

2 回答 2

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" />
于 2013-08-23T15:11:29.793 回答
0

我会将验证器更改为简单^.+[\.zip|\.ZIP|\.dxf|\.DXF]$的,因为文件上传器将为您验证文件名(除非您正在寻找特定的文件名)。您可以通过扩展zip/dfx案例匹配,\.zIp|\.ZIp|...也可以

禁用客户端脚本EnableClientScript="False"并添加

不区分大小写的标志(?i:^.+[\.zip|\.dxf]$)

于 2013-08-23T15:12:35.643 回答