la validation de plusieurs zones de texte portant le même nom avec jquery validateur ne valide que la première entrée
Je suis en train de valider les deux entrées ayant le même nom avec jquery validateur ..
<script src='
http://code.jquery.com/jquery-latest.min.js '></script>
<script src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js'></script>
<script>
$(document).ready(function(){
$('#frm').validate();
$("[name=inp_text]").each(function(){
$(this).rules("add", {
required: true,
checkValue: true
});
});
$.validator.addMethod("checkValue", function(value, element) {
var response = ((value > 0)&&(value <= 100))||((value == 'test1')||(value =='test2'));
return response;
}, "invalid value");
})
</script>
<form id='frm' method='post'>
<input type='text' name='inp_text'/><br>
<input type='text' name='inp_text'/><br>
<input type='submit' name=''/>
</frm>
mais lorsque j'exécute ce code, il ne fait que valider les premières entrées et deuxième entrées obtient tout simplement ignoré
J'ai aussi essayé d'utiliser <input type='text' name='inp_text[]'/><br>
mais toujours pas de travail.
ce que je devrais changer...?
Merci d'avance
OriginalL'auteur alwaysLearn | 2013-04-01
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir deux
input
champs detype="text"
avec la mêmename
ou ce plugin ne fonctionnera pas correctement. Lename
attribut doit être unique. (Une exception à laname
être unique, c'est que les "groupements" de checkbox ou radio entrées partagent la mêmename
que la communication est un point de données unique. Cependant, laname
doit toujours être unique pour chaque groupe de checkbox et radio-éléments.)Faire de chaque
name
attribut unique.Ensuite utiliser la "commence par" sélecteur,
^=
...De travail de DÉMONSTRATION: http://jsfiddle.net/PgLh3/
NOTES: Vous pouvez également cibler les éléments par
id
lors de l'utilisation de larules('add')
méthode, cependant, pour ce cas, rien n'est résolu, car le plugin nécessite encore un uniquename
sur chaqueinput
élément.parce que
inp_text[]
est exactement le même queinp_text[]
. Comment serait-il devenir "unique"? Je suppose que je ne comprends pas tout ce que vous demandez.Il n'y a pas une telle chose comme
unique
dans la documentation.il est assez bien connu que cette documentation est incomplète. Cependant, vous êtes libre d'examiner le code source et vous verrez que la
name
attribut est comment ce plugin conserve la trace de tous les éléments de formulaire en cours de validation. voir Aussi cette démo où le plugin échoue lorsque lename
attribut est dupliqué: jsfiddle.net/ed3vxgmy/OriginalL'auteur Sparky
Ajouter la configuration suivante comme des règles ou des messages
Changer dans le code jquery.validate.js
Nom de la méthode: les éléments
remplacer le
avec le suivant
OriginalL'auteur Manas Kumar Das
Oui, JQuery de validation seulement de valider la première occurrence.
Vous utilisez des noms différents pour les zones de texte.
OU
Vous pouvez utiliser les mêmes noms, mais des identifiants différents.
et d'appliquer vérifier en fonction de l'id.
id
dans.validate()
n'est pas valide et absolument tout casser. Voir: jsfiddle.net/tpg7MDésolé chers, vous pouvez utiliser la suite de la matrice de noms.$('#myform').valider({ règles : {'[]': { required: true, minlength: 1 } } });
OriginalL'auteur Jaskaran Singh
Amis!
Afin de valider la zone de texte/case/sélectionner avec le même nom
utiliser ce qui suit, il fonctionne très bien pour moi.
Ici "ctryId' est le nom de la boîte de sélection.
Ici "minVal' est le nom de la zone de texte
Espérons que cette aide!!
Jagan
OriginalL'auteur Jagan