Maison >interface Web >js tutoriel >Explication détaillée d'exemples de jQuery Validate vérifiant plusieurs noms

Explication détaillée d'exemples de jQuery Validate vérifiant plusieurs noms

Y2J
Y2Joriginal
2018-05-14 16:41:012139parcourir

Cet article présente principalement la méthode de jQuery Validate pour vérifier plusieurs noms identiques. Les amis qui en ont besoin peuvent s'y référer

Introduction :

<.>Il y a le code suivant dans la page du formulaire

 <form>
  <input name="zhai"/><!-- 三个相同name的input -->
  <input name="zhai"/>
  <input name="zhai"/>
 </form>
jquery validate vérifie uniquement la première zone de saisie lors de la validation de plusieurs noms identiques.

Solution 1 :

Ajoutez le code suivant au js correspondant à la page du formulaire Seule la page actuelle peut résoudre le problème du multiple. vérification du nom

 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;
    });
   }
  }

Solution 2 :

Modifiez le fichier source et toutes les pages peuvent vérifier plusieurs noms

Méthode 1 : Modifier le fichier jquery.validate.js

Utilisez ctrl+F pour trouver this.name dans RulesCache

Commentez le code suivant.

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;
   });
  },

Méthode 2 : Modifier le fichier jquery.validate.min.js

Utilisez ctrl+F pour rechercher (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 //添加这行
【Recommandations associées】

1

Tutoriel vidéo gratuit Javascript

2. .

Une seule ligne de JS pour implémenter l'inspection du format monétaire sur le terminal mobile

3.

Tutoriel d'exemple de liaison de contrôle de formulaire Vue v-model

4.

Bootstrap Explication détaillée de l'exemple de validation de formulaire de formValidation

5

Bogue OffsetWidth et méthode de traitement dans JS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn