Skip to content

Commit 306d429

Browse files
committed
netteForms: added mime-type validation [Closes #173]
Revert "Revert "netteForms: added mime type validation" This reverts commit b48d57d.
1 parent 1d0b225 commit 306d429

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/assets/netteForms.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -536,18 +536,29 @@
536536
return true;
537537
},
538538

539-
image: function (elem, arg, val) {
540-
if (window.FileList && val instanceof window.FileList) {
541-
for (var i = 0; i < val.length; i++) {
542-
var type = val[i].type;
543-
if (type && type !== 'image/gif' && type !== 'image/png' && type !== 'image/jpeg' && type !== 'image/webp') {
539+
mimeType: function (elem, arg, val) {
540+
arg = Array.isArray(arg) ? arg : [arg];
541+
for (var i = 0, len = arg.length, re = []; i < len; i++) {
542+
re.push('^' + arg[i].replace(/([^\w])/g, '\\$1').replace('\\*', '.*') + '$');
543+
}
544+
re = new RegExp(re.join('|'));
545+
546+
if (window.FileList && val instanceof FileList) {
547+
for (i = 0; i < val.length; i++) {
548+
if (val[i].type && !re.test(val[i].type)) {
544549
return false;
550+
} else if (elem.validity.badInput) {
551+
return null;
545552
}
546553
}
547554
}
548555
return true;
549556
},
550557

558+
image: function (elem, arg, val) {
559+
return Nette.validators.mimeType(elem, ['image/gif', 'image/png', 'image/jpeg', 'image/webp'], val);
560+
},
561+
551562
'static': function (elem, arg) {
552563
return arg;
553564
}

0 commit comments

Comments
 (0)