Blame | Letzte Änderung | Log anzeigen | RSS feed
// Accept a value from a file input based on a required mimetype$.validator.addMethod( "accept", function( value, element, param ) {// Split mime on commas in case we have multiple types we can acceptvar typeParam = typeof param === "string" ? param.replace( /\s/g, "" ) : "image/*",optionalValue = this.optional( element ),i, file, regex;// Element is optionalif ( optionalValue ) {return optionalValue;}if ( $( element ).attr( "type" ) === "file" ) {// Escape string to be used in the regex// see: https://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex// Escape also "/*" as "/.*" as a wildcardtypeParam = typeParam.replace( /[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g, "\\$&" ).replace( /,/g, "|" ).replace( /\/\*/g, "/.*" );// Check if the element has a FileList before checking each fileif ( element.files && element.files.length ) {regex = new RegExp( ".?(" + typeParam + ")$", "i" );for ( i = 0; i < element.files.length; i++ ) {file = element.files[ i ];// Grab the mimetype from the loaded file, verify it matchesif ( !file.type.match( regex ) ) {return false;}}}}// Either return true because we've validated each file, or because the// browser does not support element.files and the FileList featurereturn true;}, $.validator.format( "Please enter a value with a valid mimetype." ) );