-
Validation Select
Bonjour,
J'ai un select en fonction d'un autre select.
J'aimerais envoyer le formulaire que si les données sont bien remplis.
Je met donc depends pour le premier select, celui ci devant impérativement etre rempli.
La ou cela se complique, c'est que le deuxieme n'est obligatoire qu'en fonction du premier choix... Dans certain cas, on n'auras pas besoin de selectionné.
J'aimerais donc savoir comment obliger l'utilisateur a selectionné le deuxieme select quand il en a besoin ??
Merci,
PS: cela pourrait être résolu en désactivant le deuxieme select en fonction du premier mais je ne suis pas arrivé a le faire ^^
-
Piewww
ellle est floue ta question ...
Peux tu etre plus précis sur tes 2 select et la condition qui fait qu'il ya inclusion/exclusion du 2ème.. ??
-
J'ai un premier select qui possede trois options:
- Choisir une option
- Option A
- Option B
J'ai un deuxieme select qui possede comme option:
-<html:option value=""></html:option> si Choisir une option ou Option A est selectionné.
- Deux options ( Option B1 et Option B2 ) si Option B est selectionné
Mon but est de rendre obligatoire la selection du premier select (ca c'est ok) et dans un deuxième temps de rendre obligatoire la selection du deuxieme select si l'option B a été choisi dans le premier select.
Voila, j'espere avoir été plus clair
-
Sinon, je suis en train de réfléchir a comment faire pour disabled le deuxième select si l'option B n'est pas choisi, mais pour l'instant c'est pas très concluant :D
-
Tu fais un appel serveur pour savoir les valeurs du 2eme select (qui gere les 'B') ?? ou c'est fait en javascript ?
-
Alors voila j'ai avancé.
Beber, les valeurs du deuxièmes select sont remplis en java script.
Je désactive par défaut mon deuxième select, et l'active quand je fais le choix de l'option B.
Ce qui permet de guider plus ou moins l'utilisateur.
(j'ai tout de même un soucis, je n'arrive pas à le re-désactiver si l'utilisateur décide de repasser de l'option B à A voir ici )
Mais mon problème de validation persiste. On dirait que le selected qui existait avant, n'est pas pris en compte dans le html:option .
Ce qui fait, que la valeur par défaut de mon deuxième select est nul, et donc meme quand il est désactivé il me renvoi un message d'erreur lors de la validation du formulaire.
J'espere avoir été assez clair, ca parait compliqué en apparence, mais au final c'est simple (enfin ce que je veux faire, mais je sais pas comment :D )
-
-
mon problème de désactivation/réactivation est résolu.
Le problème qui persiste, c'est comment proceder a la vérification de la validation pour le deuxieme select ?
En effet, celui ci est requis mais pas tout le temps, et en mettant un depends="required" alors il le demande tout le temps, meme quand il est disabled.
-
Donc il y a plusieurs solutions et si tu veux utiliser JS (et AJAX) tu as un exemple avec le code ici :
http://ajaxtags.no-ip.info/
Sinon, moi j'ai utilisé une autre solution pr faire un truc comme ca
Dans mon 1er select j'ai
onchange="setTypeSubmit('loadInfo');
document.forms['<monFormulaire>'].submit();"
ou setTypeSubmit('loadInfo') place la valeur "loadInfo" dans un champ caché de ma jsp (qui a son attribut dans mon Form) et apres selon la valeur de ce submit, je charge les données dans l'autre select
-
Je ne vois pas comment de cette facon, tu arrives a savoir si l'utilisateur est obligé de selectionner une info dans le deuxieme select ou pas ?
Car, imaginons les infos que tu décides d'envoyer dans le deuxieme select sont nuls, l'utilisateur n'aura pas besoin de le remplir, et donc a la validation du formulaire, il y aura un problème qui te demandera de rendre une information pour le deuxième select, non ?
-
bah apres c'est un simple if() dans ta méthode de validation struts ...
-
oui, mais mon problème c'est que j'utilise le plugin validator, et donc je n'ai plus de méthode validate :(
Pour ce qui est des select en fonction l'un de l'autre ca marche, mon problème est seulement de validation quand je désactive mon deuxieme select j'aimerais qu'il ne soit plus required.
J'ai voulu passer par une astuce en mettant des options avec value=vide, le problème c'est qu'ils ne sont pas selected d'office :( (dans tous les cas ca n'aurait pas été tres propre :p)
Donc voila, j'suis un peu bloqué, et je vais je pense devoir compté sur la bonne utilisation de l'utilisateur, en enlevant le required sur le deuxieme select.
-
rha ... jms utilisé le pluggin validator :/ dsl
-
ok merci quand même, si je ne trouve pas j'enleverais le required du deuxième select.