jQuery de Validation des Deux champs, seulement tenus de remplir un
Je suis en utilisant le Plugin jQuery Validation sur mon formulaire. Sur mon formulaire, j'ai un 'Téléphone' champ et un "Pas de Mobile. terrain".
Comment pourrais-je aller sur le faire afin que l'utilisateur doit remplir l'un d'entre eux, mais il peut être soit le champ?
- Je pense que vous devez trouver un moyen de supprimer une règle d'après l'un est rempli, et de nouveau de retour si ils suppriment la valeur et le type dans le deuxième champ. Qui permettrait de créer dynamiquement votre script de validation. Cela ressemble à une simple solution de ce genre avec jQuery simple, et pas la validation de la bibliothèque.
- double possible de jQuery Validate - besoin d'au moins un champ dans un groupe à pourvoir
Vous devez vous connecter pour publier un commentaire.
Cela ressemble à ce que vous avez besoin d'utiliser la dépendance de rappel
Ce que cela vous permettra de le faire est:
Vous pouvez ensuite placer une
required
règle de validation sur les deux champs de numéros de téléphone qui ne pourront être nécessaires en fonction du rendement de la fonction de rappel; ainsi vous pouvez mettre une règle sur le champ téléphone à-dire exiger cette règle uniquement si le champ est vide, et vice versa pour le domaine mobile.C'est non testé mais en théorie
Assurez-vous de vérifier les commentaires/autres réponses pour une éventuelle mise à jour des réponses.
Mise à JOUR
required: "#mobile:empty"
:empty
sera vrai pour un textarea. En général,:empty
est mal de l'utiliser pour la validation, vous devez chercher des solutions de rechange.:filled
ou:blank
selon la documentation: jqueryvalidation.org/documentation.Je pense que la bonne façon de le faire est d'utiliser le "require_from_group" la méthode.
Vous pouvez checkit sur http://jqueryvalidation.org/require_from_group-method/
L'exemple est exactement ce que vous êtes à la recherche de:
Il est obligatoire d'inclure additional-methods.js
additional-methods.min.js
ou vous obtiendrez un message d'erreurVenu ici à la recherche pour les mêmes réponses. Trouvé le post ci-dessus très utile. Merci.
J'ai étendu cette solution pour vérifier si l'autre champ est en fait valable, plutôt que de simplement "non vide". Cela garantit que les entrées de l'utilisateur un Numéro de Téléphone valide avant de retirer le "nécessaire" de la classe du champ Mobile et vice versa.
Exigence est la Validation doivent être C ou (A et B) est nécessaire.
La chose qui a fonctionné pour moi est:
J'ai eu de la misère est
.is(':empty')
voici donc mon travail d'options exemple.Avant:
Tous les champs ont été nécessaire. Mais je voulais email et/ou téléphone afin de créer le "ou":
Et vous verrez que j'ai ajouté le
messages
option pour donner à l'utilisateur une certaine info car la valeur par défaut des messages dirais que chaque champ est nécessaire, ce qui n'est pas vrai dans cette situation.JS:
HTML:
Cela Va faire