@@ -798,10 +798,7 @@ private parse(data: any) {
798798 if ( ! errorMessages . length && type === "filePicker" ) {
799799 const acceptedFileTypes = ( control as any ) . accept ;
800800 if ( acceptedFileTypes && acceptedFileTypes . length > 0 ) {
801- const invalidFiles = value . filter ( ( file : any ) => {
802- return isInvalidFileType ( file , acceptedFileTypes )
803- } ) ;
804-
801+ const invalidFiles = getInvalidFiles ( value , acceptedFileTypes )
805802 if ( invalidFiles . length > 0 ) {
806803 const acceptedFileTypesString = acceptedFileTypes . join ( ", " ) ;
807804 const foundFileTypesString = invalidFiles . map ( ( file : any ) => file . name . split ( "." ) . pop ( ) ?. toLowerCase ( ) ) . join ( ", " ) ;
@@ -917,6 +914,15 @@ function isInvalidFileType(file: any, acceptedFileTypes: any) {
917914 return ! acceptedFileTypes . includes ( fileExtension )
918915}
919916
917+ function getInvalidFiles ( files :any , acceptedFileTypes :any ) {
918+ const invalidFiles = [ ] ;
919+ for ( let i = 0 ; i < files . length ; i ++ ) {
920+ if ( isInvalidFileType ( files [ i ] , acceptedFileTypes ) ) {
921+ invalidFiles . push ( files [ i ] ) ;
922+ }
923+ }
924+ return invalidFiles ;
925+ }
920926function runValidation ( id :any , validate : ( value : any , otherData : any ) => string | string [ ] | undefined , value : any , data : any ) {
921927 try {
922928 return validate ( value , data )
0 commit comments