Heim  >  Artikel  >  Web-Frontend  >  jQuery Validate überprüft die gemeinsame Nutzung mehrerer Instanzen mit demselben Namen

jQuery Validate überprüft die gemeinsame Nutzung mehrerer Instanzen mit demselben Namen

小云云
小云云Original
2018-01-12 09:07:581806Durchsuche

Dieser Artikel stellt hauptsächlich die Methode von jQuery Validate vor, um mehrere identische Namen zu überprüfen. Freunde, die es 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 eins:

Fügen Sie den folgenden Code zu den js hinzu, die der Formularseite entsprechen. Nur die aktuelle Seite kann die Überprüfung mehrerer Namen lösen

 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 zwei :

Ä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 zu finden Kommentieren Sie im RulesCache 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 zu suchen (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:

Spring Shiro Bootstrap jquery.validate Implementierungsmethode für Anmelde- und Registrierungsfunktionen

jQuery Validierungsformular Detaillierte Erläuterung des Validierungs-Plug-ins

jquery.validate.js Detaillierte Erläuterung zum Umgang mit mehreren identischen Namen

Das obige ist der detaillierte Inhalt vonjQuery Validate überprüft die gemeinsame Nutzung mehrerer Instanzen mit demselben Namen. 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