首页 > 解决方案 > 上传文件数功能不显示错误信息

问题描述

我正在尝试将可以上传的文件数限制为 2。我有以下验证器和代码来解决此问题:

  <asp:ValidationSummary runat="server" ID="ValidationSummary1" 
                   DisplayMode="BulletList" ShowMessageBox="false" ShowSummary="True" CssClass="alert alert-danger" />

     <asp:FileUpload runat="server" ID="UploadPDF" AllowMultiple="true" accept=".pdf"  /> 
    
     <asp:CustomValidator Display="None" ID="customValidatorUpload" runat="server" ErrorMessage="Only five files can be uploaded" ControlToValidate="UploadPDF" ClientValidationFunction="ValidateFile2();" />

下面是 ValidateFile2() 函数:

   <script>
        function ValidateFile2(sender, args) {
            
            var fileCount = document.getElementById('UploadPDF').files.length;
            if (fileCount > 2) 
            {
                args.IsValid = false;
               
            }
            else if (fileCount <= 0) 
            {
                args.IsValid = false;
            }

            args.IsValid = true; 
        }
    </script>

当我尝试上传超过 2 个文件时,我没有看到任何错误消息。我不确定我做错了什么。

我试着把

console.log(fileCount);

在 ValidateFile2 函数中,这是我在浏览器控制台下看到的错误:

在此处输入图像描述

这就是我在检查元素时看到的:

在此处输入图像描述

uploadcerts 是我页面的名称。

任何帮助将不胜感激。

标签: c#jqueryasp.net

解决方案


这就是我为解决问题所做的。我从 ValidateFile2 函数中删除了括号,代码立即开始工作。以下是更新后的代码:

  <asp:ValidationSummary runat="server" ID="ValidationSummary1" 
                       DisplayMode="BulletList" ShowMessageBox="false" ShowSummary="True" CssClass="alert alert-danger" />
    
         <asp:FileUpload runat="server" ID="UploadPDF" AllowMultiple="true" accept=".pdf"  /> 
        
         <asp:CustomValidator Display="None" ID="customValidatorUpload" runat="server" ErrorMessage="Only five files can be uploaded" ControlToValidate="UploadPDF" ClientValidationFunction="ValidateFile2" />

推荐阅读