Skip to main content
A newer version of this page is available. .

ASPxClientUploadControlFileUploadCompleteEventArgs.isValid Property

Gets or sets a value indicating whether the uploaded file passes validation.

Declaration

isValid: boolean

Property Value

Type Description
boolean

true if the file is valid; otherwise, false.

Remarks

Use the isValid property to determine whether the uploaded file meets your validation criteria. You can define the required validation criteria by using the ASPxUploadControl.ValidationSettings property or by implementing custom validation logic within the ASPxUploadControl.FileUploadComplete event’s handler. In the latter case, you need to set the FileUploadCompleteEventArgs.IsValid property manually while handling the event.

Example

The following part of the ASPxUploadControl Multi-File Upload online demo illustrates the ASPxUploadControl’s capability to upload more than one file at a time.

<script runat="server">
 public partial class UploadControl_MultiFileUpload : BasePage
 {
     const string UploadDirectory = "~/UploadControl/UploadImages/";
     const int ThumbnailSize = 100;

     protected void Page_Load(object sender, EventArgs e) {
         if(IsPostBack)
             UploadControl.ShowProgressPanel = chbShowProgressPanel.Checked;
     }

     protected string SavePostedFiles(UploadedFile uploadedFile) {
         string ret = "";
         if(uploadedFile.IsValid) {
             FileInfo fileInfo = new FileInfo(uploadedFile.FileName);
             string resFileName = MapPath(UploadDirectory) + fileInfo.Name;
             uploadedFile.SaveAs(resFileName);

             string fileLabel = fileInfo.Name;
             string fileType = uploadedFile.PostedFile.ContentType.ToString();
             string fileLength = uploadedFile.PostedFile.ContentLength / 1024 + "K";
             ret = string.Format("{0} <i>({1})</i> {2}|{3}", 
                 fileLabel, fileType, fileLength, fileInfo.Name);
         }
         return ret;
     }
     protected void UploadControl_FileUploadComplete(object sender, 
      FileUploadCompleteEventArgs e) {
         try {
             e.CallbackData = SavePostedFiles(e.UploadedFile);
         }
         catch(Exception ex) {
             e.IsValid = false;
             e.ErrorText = ex.Message;
         }
     }
 }
</script>
...
         <dxuc:ASPxUploadControl ID="UploadControl" runat="server" 
             ShowAddRemoveButtons="True" Width="300px"
             ShowUploadButton="True" AddUploadButtonsHorizontalPosition="Left" 
             ShowProgressPanel="True" ClientInstanceName="UploadControl" 
             OnFileUploadComplete="UploadControl_FileUploadComplete" FileInputCount="3">
             <ValidationSettings MaxFileSize="4000000" 
             AllowedFileExtensions=".jpg,.jpe,.jpeg,.gif"></ValidationSettings>
             <ClientSideEvents
                 fileuploadcomplete="function(s, e) { FileUploaded(s, e) }"
                 fileuploadstart="function(s, e) { FileUploadStart(); }"
             />
         </dxuc:ASPxUploadControl>
...
         <dxrp:ASPxRoundPanel ID="ASPxRoundPanel1" runat="server" Width="300px" 
             ClientInstanceName="RoundPanel"
             HeaderText="Uploaded files (jpeg, gif)" Height="100%">
             <panelcollection>
                 <dxp:PanelContent runat="server">
                     <div id="uploadedListFiles" style="height: 150px; font-family: Arial;">
                     </div>
                 </dxp:PanelContent>
             </panelcollection>
         </dxrp:ASPxRoundPanel>
...
var fieldSeparator = "|";
function FileUploadStart() {
    document.getElementById("uploadedListFiles").innerHTML = "";
}
function FileUploaded(s, e) {
    if(e.isValid) {
        var linkFile = document.createElement("a");
        var indexSeparator = e.callbackData.indexOf(fieldSeparator);
        var fileName = e.callbackData.substring(0, indexSeparator);
        var pictureUrl = e.callbackData.substring(indexSeparator + fieldSeparator.length);
        var date = new Date();
        var imgSrc = "UploadImages/" + pictureUrl + "?dx=" + date.getTime();
        linkFile.innerHTML = fileName;
        linkFile.setAttribute("href", imgSrc);
        linkFile.setAttribute("target", "_blank");
        var container = document.getElementById("uploadedListFiles");
        container.appendChild(linkFile);
        container.appendChild(document.createElement("br"));
    }
}
See Also