Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung von Beispielen für die Überprüfung mehrerer Namen durch jQuery Validate

Ausführliche Erläuterung von Beispielen für die Überprüfung mehrerer Namen durch jQuery Validate

Y2J
Y2JOriginal
2018-05-14 16:41:012083Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn