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