mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-31 18:47:33 +08:00 
			
		
		
		
	Fix #18094: Support for composite file extension validation
This commit is contained in:
		| @ -408,10 +408,18 @@ yii.validation = (function ($) { | ||||
|  | ||||
|     function validateFile(file, messages, options) { | ||||
|         if (options.extensions && options.extensions.length > 0) { | ||||
|             var index = file.name.lastIndexOf('.'); | ||||
|             var ext = !~index ? '' : file.name.substr(index + 1, file.name.length).toLowerCase(); | ||||
|             var found = false; | ||||
|             var filename = file.name.toLowerCase(); | ||||
|  | ||||
|             if (!~options.extensions.indexOf(ext)) { | ||||
|             for (var index=0; index < options.extensions.length; index++) { | ||||
|                 var ext = options.extensions[index].toLowerCase(); | ||||
|                 if (filename.substr(filename.length - options.extensions[index].length - 1) === ('.' + ext)) { | ||||
|                     found = true; | ||||
|                     break; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             if (!found) { | ||||
|                 messages.push(options.wrongExtension.replace(/\{file\}/g, file.name)); | ||||
|             } | ||||
|         } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 DarkDef
					DarkDef