[ASP.NET] 欄位使用 Telerik RadAsyncUpload,如何驗証該欄位有選擇檔案(必填)?

[ASP.NET] 欄位使用 Telerik RadAsyncUpload,如何驗証該欄位有選擇檔案(必填)?

RadAsyncUpload 這個控制項預設並沒有提供驗証的機制,但我們仍可透過 CustomValidation + javascript 來驗証

@aspx

  • CustomValidator.ClientValidationFunction 用來處理檔案是否上傳
  • RadButton 用來觸發 ValidationGroup
</telerik:RadAsyncUpload>

<telerik:RadAsyncUpload ID="RadAsyncUpload2" runat="server" MaxFileInputsCount="1">
</telerik:RadAsyncUpload>

<asp:CustomValidator runat="server" ID="CustomValidator1"
    Display="Dynamic" ForeColor="Red"
    ClientValidationFunction="onValidation"
    ErrorMessage="Select at least a single file"
    ValidateEmptyText="true"
    ValidationGroup="validateUpload">
</asp:CustomValidator>
<br />
<telerik:RadButton ID="RadButton1" Text="Validate" runat="server"
    CausesValidation="true" AutoPostBack="False"
    ValidationGroup="validateUpload">
</telerik:RadButton>

 

@javaScript

這裡的做法很簡單,僅是判斷檔案上傳數量

    var asyncUpload1 = $telerik.toAsyncUpload($find("<%= RadAsyncUpload1.ClientID %>"));
    var asyncUpload2 = $telerik.toAsyncUpload($find("<%= RadAsyncUpload2.ClientID %>"));

    if (asyncUpload1.getUploadedFiles() != 0 &&
        asyncUpload2.getUploadedFiles() != 0)
        args.IsValid = true;
    else
        args.IsValid = false;

}

 

執行結果

image

 

當所有的 RadAsyncUpload 都上傳驗証便成功

image


文章出自:http://www.dotblogs.com.tw/yc421206/archive/2015/06/27/151662.aspx

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo