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

jQuery Validate vérifie le partage de plusieurs instances du même nom

小云云
Libérer: 2018-01-12 09:07:58
original
1891 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. J'espère que cela pourra aider tout le monde.

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 mêmes noms.

Solution un :

Ajoutez le code suivant au js correspondant à la page du formulaire Seule la page actuelle peut résoudre la vérification de plusieurs noms

 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 deux. :

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

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

Utilisez ctrl+F pour trouver ce .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 :

Spring shiro bootstrap jquery.validate méthode d'implémentation des fonctions de connexion et d'enregistrement

jQuery Formulaire de validation Explication détaillée du plug-in de validation

jquery.validate.js Explication détaillée de la façon de gérer plusieurs noms identiques

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