Dieser Artikel stellt hauptsächlich die Methode von jQuery Validate vor, um mehrere identische Namen zu überprüfen. Freunde, die sie benötigen, können darauf verweisen
Einführung:
Es gibt den folgenden Code auf der Formularseite
<form> <input name="zhai"/><!-- 三个相同name的input --> <input name="zhai"/> <input name="zhai"/> </form>
jquery validieren überprüft nur das erste Eingabefeld, wenn mehrere gleiche Namen validiert werden.
Lösung 1:
Fügen Sie den folgenden Code zu den js hinzu, die der Formularseite entsprechen. Nur die aktuelle Seite kann das Problem mehrerer lösen Namensüberprüfung
if ($.validator) { $.validator.prototype.elements = function () { var validator = this, rulesCache = {}; return $(this.currentForm) .find("input, select, textarea") .not(":submit, :reset, :image, [disabled]") .not(this.settings.ignore) .filter(function () { if (!this.name && validator.settings.debug && window.console) { console.error("%o has no name assigned", this); } rulesCache[this.name] = true; return true; }); } }
Lösung 2:
Ändern Sie die Quelldatei und alle Seiten können mehrere Namen überprüfen
Methode 1: Ändern Sie die Datei jquery.validate.js
Verwenden Sie Strg+F, um diesen Namen im RulesCache zu finden Kommentieren Sie den folgenden Code aus.
elements: function() { var validator = this, rulesCache = {}; // select all valid inputs inside the form (no submit or reset buttons) return $(this.currentForm) .find("input, select, textarea") .not(":submit, :reset, :image, [disabled]") .not( this.settings.ignore ) .filter(function() { if ( !this.name && validator.settings.debug && window.console ) { console.error( "%o has no name assigned", this); } // 注释掉这里 // select only the first element for each name, and only those with rules specified //if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) { // return false; //} rulesCache[this.name] = true; return true; }); },
Methode 2: Ändern Sie die Datei jquery.validate.min.js
Verwenden Sie Strg+F, um (c[this .name ]=!0,!0)})
return !this.name && b.settings.debug && window.console && console.error("%o has no name assigned", this), //this.name in c || !b.objectLength(a(this).rules()) ? !1 : (c[this.name] = !0, !0)//注释这行 c[this.name] = !0, !0 //添加这行
【Verwandte Empfehlungen】
1 Kostenloses Javascript-Video-Tutorial
2 . Eine einzelne JS-Zeile zur Implementierung der Geldformatprüfung auf dem mobilen Endgerät
3.Beispiel-Tutorial zur Vue-V-Modell-Formularsteuerungsbindung
4. Bootstrap Detaillierte Erläuterung des Formularvalidierungsbeispiels von formValidation
5. OffsetWidth-Fehler und Verarbeitungsmethode in JS
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für die Überprüfung mehrerer Namen durch jQuery Validate. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!