2014-10-17 89 views
0

我想檢查文件的類型是否正確以及是否選擇了文件。我不介意我是否無法將它融入到一個表達式中。但是兩者都必須是真實的,那就是該文件是正確的類型,並且FileUploadControl選擇了一個文件。使用正則表達式檢查FileUpload是否爲空

在下面的代碼具有工作擴展使用正則表達式檢查:

<li class="three"> 
    <p>Bulk insert/upload inventory from file</p> 
    <div> 
     <asp:FileUpload ID="fileUploadControl" accept="csv" runat="server" /> 
     <asp:RegularExpressionValidator ID="regexValidator" runat="server" ValidationGroup="upload" 
      ControlToValidate="fileUploadControl" 
      ErrorMessage="Only csv files are allowed" ForeColor="Red" 
      ValidationExpression="(.*\.([Cc][Ss][Vv])$)"> 
     </asp:RegularExpressionValidator> 
     <br /> 
     <asp:Button ID="buttonUploadToInventory" runat="server" Text="Upload" ValidationGroup="upload" OnClick="buttonUploadToInventory_Click" /> 
     <asp:Label ID="statusLabel" runat="server" Text="Upload status: Nothing uploaded"></asp:Label> 
    </div> 
</li> 

我想添加如果選擇了文件,檢查一個新項,這樣我可以顯示它處於錯誤相同的標籤。

回答

2

將它添加到RequiredFieldValidator。如果沒有選擇文件,RFV將會啓動,如果選擇了一個文件,RegularExpressionValidator將會啓動。

<asp:FileUpload ID="fileUploadControl" accept="csv" runat="server" /> 
      <asp:RegularExpressionValidator ID="regexValidator" runat="server" ValidationGroup="upload" 
       ControlToValidate="fileUploadControl" 
       ErrorMessage="Only csv files are allowed" ForeColor="Red" 
       ValidationExpression="(.*\.([Cc][Ss][Vv])$)"> 
      </asp:RegularExpressionValidator> 
      <asp:RequiredFieldValidator ID="requiredValidator" runat="server" ValidationGroup="upload" 
       ControlToValidate="fileUploadControl" 
       ErrorMessage="Please select a file" ForeColor="Red"> 
      </asp:RegularExpressionValidator> 
+0

有沒有辦法讓他們寫入相同的標籤或至少相同的位置。當文件不在那裏時,我正在查看錯誤消息,該消息是向右偏移的。我認爲這是因爲他們沒有寫入相同的位置。 – visc 2014-10-17 18:00:59

+0

我知道你可以在CSS中做到這一點。但是有可能讓RegularExpressionValidators直接寫入標籤嗎? – visc 2014-10-17 18:03:10

相關問題