Maison > interface Web > js tutoriel > le corps du texte

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

Y2J
Libérer: 2018-05-14 16:41:01
original
2109 Les gens l'ont consulté

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>
Copier après la connexion
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;
    });
   }
  }
Copier après la connexion

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;
   });
  },
Copier après la connexion

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 //添加这行
Copier après la connexion
【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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal