PageSourceSearch

https://www.sixclouds.net/main/resources/assets/js/common/file-progress/jquery.fileupload-validate.js

js sixclouds.net collected 2026-10-02 00:24:04 UTC 4,183 bytes, 122 lines download raw bytes

1/*
2 * jQuery File Upload Validation Plugin 1.1.3
3 * https://github.com/blueimp/jQuery-File-Upload
4 *
5 * Copyright 2013, Sebastian Tschan
6 * https://blueimp.net
7 *
8 * Licensed under the MIT license:
9 * http://www.opensource.org/licenses/MIT
10 */
11
12/* global define, require, window */
13
14(function (factory) {
15    'use strict';
16    if (typeof define === 'function' && define.amd) {
17        // Register as an anonymous AMD module:
18        define([
19            'jquery',
20            './jquery.fileupload-process'
21        ], factory);
22    } else if (typeof exports === 'object') {
23        // Node/CommonJS:
24        factory(require('jquery'));
25    } else {
26        // Browser globals:
27        factory(
28            window.jQuery
29        );
30    }
31}(function ($) {
32    'use strict';
33
34    // Append to the default processQueue:
35    $.blueimp.fileupload.prototype.options.processQueue.push(
36        {
37            action: 'validate',
38            // Always trigger this action,
39            // even if the previous action was rejected: 
40            always: true,
41            // Options taken from the global options map:
42            acceptFileTypes: '@',
43            maxFileSize: '@',
44            minFileSize: '@',
45            maxNumberOfFiles: '@',
46            disabled: '@disableValidation'
47        }
48    );
49
50    // The File Upload Validation plugin extends the fileupload widget
51    // with file validation functionality:
52    $.widget('blueimp.fileupload', $.blueimp.fileupload, {
53
54        options: {
55            /*
56            // The regular expression for allowed file types, matches
57            // against either file type or file name:
58            acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
59            // The maximum allowed file size in bytes:
60            maxFileSize: 10000000, // 10 MB
61            // The minimum allowed file size in bytes:
62            minFileSize: undefined, // No minimal file size
63            // The limit of files to be uploaded:
64            maxNumberOfFiles: 10,
65            */
66
67            // Function returning the current number of files,
68            // has to be overriden for maxNumberOfFiles validation:
69            getNumberOfFiles: $.noop,
70
71            // Error and info messages:
72            messages: {
73                maxNumberOfFiles: 'Maximum number of files exceeded',
74                acceptFileTypes: 'File type not allowed',
75                maxFileSize: 'File is too large',
76                minFileSize: 'File is too small'
77            }
78        },
79
80        processActions: {
81
82            validate: function (data, options) {
83                if (options.disabled) {
84                    return data;
85                }
86                var dfd = $.Deferred(),
87                    settings = this.options,
88                    file = data.files[data.index],
89                    fileSize;
90                if (options.minFileSize || options.maxFileSize) {
91                    fileSize = file.size;
92                }
93                if ($.type(options.maxNumberOfFiles) === 'number' &&
94                        (settings.getNumberOfFiles() || 0) + data.files.length >
95                            options.maxNumberOfFiles) {
96                    file.error = settings.i18n('maxNumberOfFiles');
97                } else if (options.acceptFileTypes &&
98                        !(options.acceptFileTypes.test(file.type) ||
99                        options.acceptFileTypes.test(file.name))) {
100                    file.error = settings.i18n('acceptFileTypes');
101                } else if (fileSize > options.maxFileSize) {
102                    file.error = settings.i18n('maxFileSize');
103                } else if ($.type(fileSize) === 'number' &&
104                        fileSize < options.minFileSize) {
105                    file.error = settings.i18n('minFileSize');
106                } else {
107                    delete file.error;
108                }
109                if (file.error || data.files.error) {
110                    data.files.error = true;
111                    dfd.rejectWith(this, [data]);
112                } else {
113                    dfd.resolveWith(this, [data]);
114                }
115                return dfd.promise();
116            }
117
118        }
119
120    });
121
122}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.