@@ -446,7 +446,7 @@ class FormFileInputWidgetBase {
446446 let isInvalidSize = false ,
447447 isInvalidFileName = false ,
448448 isInvalidMimeType = false ;
449- //this.resetIfNotMultiSelect();
449+
450450 if ( typeof files !== "undefined" ) {
451451 let invalidFilesIndexes = [ ] ;
452452 Array . from ( files ) . forEach ( function ( file , fileIndex ) {
@@ -466,9 +466,17 @@ class FormFileInputWidgetBase {
466466 inValidNamefileNames = currFileName + "," + inValidNamefileNames ;
467467 } else {
468468 let isMatch = false ;
469- let extension = currFileName . split ( '.' ) . pop ( ) ;
470- let mimeType = ( file . type ) ? file . type : self . extensionToMimeTypeMap [ extension ] ;
471- if ( mimeType != undefined && mimeType . trim ( ) . length > 0 ) {
469+ let extension = currFileName . split ( '.' ) . pop ( ) . toLowerCase ( ) ;
470+ let mimeType = file . type || self . extensionToMimeTypeMap [ extension ] ;
471+
472+ // If no MIME type is detected, check if the file extension is in the accept list
473+ if ( ! mimeType ) {
474+ isMatch = this . options . accept . some ( function ( acceptPattern ) {
475+ // Remove leading dot if present and convert to lowercase
476+ let cleanPattern = acceptPattern . replace ( / ^ \. / , '' ) . toLowerCase ( ) ;
477+ return cleanPattern === extension ;
478+ } ) ;
479+ } else {
472480 isMatch = this . regexMimeTypeList . some ( function ( rx ) {
473481 return rx . test ( mimeType ) ;
474482 } ) ;
0 commit comments