Есть функция:
validateFile = function(){
if (opts.fileTypes !== null && !opts.fileTypes.test(this.type)) {
this.error = 'Разрешена загрузка следующих типов файлов: jpg, jpeg, gif, png.';
}
if (opts.maximumSize > 0 && opts.maximumSize < this.size) {
this.error = 'Размер изображения не должен превышать 8.00 MB';
}
return this;
}
opts.fileTypes это RegExp. Если внутрь первого условия вставить console.log(opts.fileTypes !== null && !opts.fileTypes.test(this.type)) - всегда выдает false;
Почему-то при вызове ее в цикле при прочих равных this.error == 'Разрешена загрузка следующих типов файлов: jpg, jpeg, gif, png.' через один. Как такое может быть?
UPD:
Такое условие работает хорошо:
opts.fileTypes !== null && this.type.search(opts.fileTypes) == -1