Skip to main content
All docs
V25.2
  • DxFileInput.ValidateByAcceptedFileTypes Property

    Specifies whether the component validates files against accepted file types before uploading them.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    [DefaultValue(true)]
    [Parameter]
    public bool ValidateByAcceptedFileTypes { get; set; }

    Property Value

    Type Default Description
    Boolean true

    true to validate files against accepted file types; otherwise, false.

    Remarks

    You can use the following APIs to specify file types and extensions accepted by File Input.

    Open File Dialog Filter

    The AcceptedFileTypes property sets the file type filter in the Open File dialog. The property value is passed to the accept attribute of the underlying input HTML element.

    Filter Applied

    If a user removes the filter, the Open File dialog displays all file types and users can select files that do not match AcceptedFileTypes.

    A user can also skip the Open File dialog and simply drop files onto the drop zone.

    File Type Validation

    Once a file is added to the file list, the component validates the following:

    If validation fails, the File Input cannot upload the file and displays an error message.

    File Extension Validation

    Example

    The following example disables MIME type validation (ValidateByAcceptedFileTypes is false). In this case, the AcceptedFileTypes property only specifies a filter for the Open File dialog.

    <DxFileInput FilesUploading="OnFilesUploading"
                 AcceptedFileTypes="@(new List<string> { "image/*", "application/pdf"})"
                 ValidateByAcceptedFileTypes="false"/>
    
    @code {
        async Task OnFilesUploading(FilesUploadingEventArgs args) {
            foreach (var file in args.Files) {
                /* The following code is intended for demonstration purposes only.
                Do not read a stream directly in memory to avoid performance and security-related issues. */
                using var stream = new System.IO.MemoryStream();
                await file.OpenReadStream(file.Size).CopyToAsync(stream);
            }
        }
    }
    

    Filter Applied

    See Also