ich implementiert nur ein jQuery Validation Zusätzlichen Verfahren zur Herstellung einer minimale Bildbreite und -höhe Überprüfung, hier ist der Code:jQuery Validation Zusätzliche Verfahren zur Überprüfung der Bildbreite und -höhe: Fehlermeldung wird immer angezeigt
$.validator.addMethod('imagedim', function(value, element, params) {
// optional element
if (this.optional(element)) {
return true;
}
var _URL = window.URL;
var img;
if ((el = element.files[0])) {
img = new Image();
img.src = _URL.createObjectURL(el);
img.onload = function() {
if (this.width < params[0] || this.height < params[1]) {
console.log("Width:" + this.width + ", Height: " + this.height);
return false;
} else {
return true;
}
};
}
}, ("Please upload images bigger than {0}x{1}"));
Das Problem ist, dass die Fehlermeldung für jede Bildgröße angezeigt wird, scheint es immer false
zurückzugeben.
Here is a fiddle zeigt das Verhalten: Es spielt keine Rolle, wenn Sie versuchen, kleine, große oder große Bilder hochzuladen, wird die Fehlermeldung immer angezeigt.
Ich bin kein Experte in JS und ich bin sicher, dass ich in etwas falsch bin, aber ich can'0t sehen, wo ...
Danke
Dig ein wenig tiefer ändern können, um zu sehen * warum * die Methode schlägt immer fehl. Wie bei Ihrem jsFiddle, egal in welcher Größe JPG ich wähle, meldet Ihre 'console.log' Nachricht immer' Breite: 350, Höhe: 213' ... Zeit, um herauszufinden, warum. – Sparky
Danke: Ich habe dieses Problem nicht (Breite und Höhe des hochgeladenen Bildes sind richtig), aber ich habe bemerkt, dass in Firebug die Nachricht zweimal geloggt wird und keine Ahnung warum ... – Ivan
Ich kann Ihren Code nicht zum arbeiten bekommen , aber ich bin mir fast sicher, dass du 'this 'nicht verwenden willst, nachdem du' img = new Image() 'definiert hast. Verwenden Sie stattdessen 'img.width' und' img.height'. – Sparky