- Posts: 7
- Thank you received: 1
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Indiquer la(le) sous-question(s) qui ne valides pas la regex
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
2 months 1 week ago #256148
by VictorROYER
Indiquer la(le) sous-question(s) qui ne valides pas la regex was created by VictorROYER
Aidez-nous à vous aider et remplissez les cases appropriées :
Votre version de LimeSurvey : Version de votre LimeSurvey : 6.4.1
Votre propre serveur ou LimeSurvey Cloud : propre serveur
Thème : Regex, Sous Questions, Validation des entrées utilisateurs, Message d'erreur
==================
Bonjour,
J'utilise limesurvey pour gérer mes utilisateurs. J'organise mon enquête avec une question et autant de sous questions que j'ai d'utilisateurs.
Dans le cas où on doit changer une adresse mail, je possède un input et une regex sur cette input pour vérifier que l'entrée utilisateur correspond bien à une adresse mail.
En revanche, je possède beaucoup d'adresses mails et une erreur dans une entrée utilisateur arrive vite.
Je reçois alors un message d'erreur, mais ce dernier ne me donne pas d'indication sur la ligne (sous-question) a corriger.
J'aimerai savoir comment je peux customiser le message d'erreur si un input d'une sous question ne valide pas ma regex pour qu'il m'affiche précisément la ligne qui n'est pas bonne.
Exemple :
Pour le moment, j'ai modifier la ligne 346 du fichier qanda_helper.php :
Cordialement
Votre version de LimeSurvey : Version de votre LimeSurvey : 6.4.1
Votre propre serveur ou LimeSurvey Cloud : propre serveur
Thème : Regex, Sous Questions, Validation des entrées utilisateurs, Message d'erreur
==================
Bonjour,
J'utilise limesurvey pour gérer mes utilisateurs. J'organise mon enquête avec une question et autant de sous questions que j'ai d'utilisateurs.
Dans le cas où on doit changer une adresse mail, je possède un input et une regex sur cette input pour vérifier que l'entrée utilisateur correspond bien à une adresse mail.
En revanche, je possède beaucoup d'adresses mails et une erreur dans une entrée utilisateur arrive vite.
Je reçois alors un message d'erreur, mais ce dernier ne me donne pas d'indication sur la ligne (sous-question) a corriger.
J'aimerai savoir comment je peux customiser le message d'erreur si un input d'une sous question ne valide pas ma regex pour qu'il m'affiche précisément la ligne qui n'est pas bonne.
Exemple :
Pour le moment, j'ai modifier la ligne 346 du fichier qanda_helper.php :
avec $ia[2] étant le code de ma question, mais j'aimerai y mettre le code de ma sous question, voir si possible le text de ma sous question.$vpopup = gT("One or more questions have not been answered in a valid manner : " . $ia[2] . " You cannot proceed until these answers are valid.");
Cordialement
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 1 week ago #256179
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Utiliser la validation manuelle de question :
manual.limesurvey.org/Question_type_-_Ar..._validation_q_tip.29
Et donc écrire le texte en fonction (je le fait pour vide, ca va plus vite, et c'est pour l'exemple.
{if(is_empty(Q0_SX01_SY0.NAOK),"La valeur en X1, Y1 est obligatoire.")}
{if(is_empty(Q0_SX02_SY0.NAOK),"La valeur en X2, Y1 est obligatoire.")}
{if(is_empty(Q0_SX03_SY0.NAOK),"La valeur en X3, Y1 est obligatoire.")}
Et donc écrire le texte en fonction (je le fait pour vide, ca va plus vite, et c'est pour l'exemple.
{if(is_empty(Q0_SX01_SY0.NAOK),"La valeur en X1, Y1 est obligatoire.")}
{if(is_empty(Q0_SX02_SY0.NAOK),"La valeur en X2, Y1 est obligatoire.")}
{if(is_empty(Q0_SX03_SY0.NAOK),"La valeur en X3, Y1 est obligatoire.")}
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Please Log in to join the conversation.
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 1
2 months 1 week ago - 2 months 1 week ago #256642
by VictorROYER
Replied by VictorROYER on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Bonjour Denis,
Merci pour ta réponse, je n'ai malheureusement pas réussi à faire fonctionner la validation manuelle de la question.
J'ai vu que quand tu édites une question, tu as 2 sections :
- Équation de validation de question
- Équation de validation des sous-questions
J'ai essayer de faire un test avec ton exemple dans ces 2 sections (en replaçant Q0 par Q2 car l'ID de ma question est Q2)
J'ai essayé avec ces 2 sections et j'ai le même message d'erreurs :
J'ai le message d'erreur : One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid.
Voici ma configuration :
J'ai aussi essayer avec cette configuration, mais j'ai toujours le même message d'erreur
Hésite pas si tu veux plus de renseignements,
Cordialement,
Victor ROYER
Merci pour ta réponse, je n'ai malheureusement pas réussi à faire fonctionner la validation manuelle de la question.
J'ai vu que quand tu édites une question, tu as 2 sections :
- Équation de validation de question
- Équation de validation des sous-questions
J'ai essayer de faire un test avec ton exemple dans ces 2 sections (en replaçant Q0 par Q2 car l'ID de ma question est Q2)
J'ai essayé avec ces 2 sections et j'ai le même message d'erreurs :
J'ai le message d'erreur : One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid.
Voici ma configuration :
J'ai aussi essayer avec cette configuration, mais j'ai toujours le même message d'erreur
Hésite pas si tu veux plus de renseignements,
Cordialement,
Victor ROYER
Last edit: 2 months 1 week ago by VictorROYER. Reason: add one screen capture
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 1 week ago #256644
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
C'est à mettre dans la partie astuce : Tip for sub-question validation equation (em_validation_sq_tip)
Et tu met le contrôle dans la partie validation
Par exemple validation
!is_empty(Q2_SX01_SY0.NAOK) and !is_empty(Q2_SX02_SY0.NAOK) and
!is_empty(Q2_SX03_SY0.NAOK)
Mais attention : tu dois AUSSI modifier les codes des sous-questions : je ne peux pas les connaître pour toi : manual.limesurvey.org/Expression_Manager#Qcode_Variable_Naming
Et tu met le contrôle dans la partie validation
Par exemple validation
!is_empty(Q2_SX01_SY0.NAOK) and !is_empty(Q2_SX02_SY0.NAOK) and
!is_empty(Q2_SX03_SY0.NAOK)
Mais attention : tu dois AUSSI modifier les codes des sous-questions : je ne peux pas les connaître pour toi : manual.limesurvey.org/Expression_Manager#Qcode_Variable_Naming
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Please Log in to join the conversation.
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 1
2 months 1 week ago #256647
by VictorROYER
Replied by VictorROYER on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Quand je clique sur "Vérification de la logique", je trouve que le code de mes sous questions sont Q2_[Code] (soit Q2_1 pour la sous question 1, Q2_2 ...)
J'ai mis un screen sur mon post précédent pour te montrer ma tentative, qui me renvoie toujours le même message d'erreur. (je fais un test sur ma première sous question)
D'ailleurs, et étrangement, j'ai ce message d'erreur (One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid.) même si je ne met rien dans cette section (alors que c'est une question optionnel)
J'ai mis un screen sur mon post précédent pour te montrer ma tentative, qui me renvoie toujours le même message d'erreur. (je fais un test sur ma première sous question)
D'ailleurs, et étrangement, j'ai ce message d'erreur (One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid.) même si je ne met rien dans cette section (alors que c'est une question optionnel)
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 1 week ago #256649
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Ah oui, multiple zone de text court.
Sinon : à la base je donne des exemples, pas toujours des solutions.
Bon, tu le fait vie n regexp : alors le gmail.com , à mon avis tu le supprime.
Et pour faire la regexp : le mieux est d'abord de le faire dans l'aide pour pas se tromper
mais sinon : le plus simple : manual.limesurvey.org/Expression_Manager#Access_to_Functions :strpos
strpos(Q2_2.NAOK,"@") dans Question validation equation (em_validation_q)
et {if(!strpos(Q2_2.NAOK,"@"),'Vous devez inscrire une adresse de messagerie valide')} dans Tip for whole question validation equation (em_validation_q_tip)
Sinon : à la base je donne des exemples, pas toujours des solutions.
Bon, tu le fait vie n regexp : alors le gmail.com , à mon avis tu le supprime.
Et pour faire la regexp : le mieux est d'abord de le faire dans l'aide pour pas se tromper
mais sinon : le plus simple : manual.limesurvey.org/Expression_Manager#Access_to_Functions :strpos
strpos(Q2_2.NAOK,"@") dans Question validation equation (em_validation_q)
et {if(!strpos(Q2_2.NAOK,"@"),'Vous devez inscrire une adresse de messagerie valide')} dans Tip for whole question validation equation (em_validation_q_tip)
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 1 week ago #256677
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Sans modification javascript : le message d'erreur de la popup est global/ général.
Tu ne peux afficher autre chose que au niveau de la question en elle même .
Tu ne peux afficher autre chose que au niveau de la question en elle même .
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Please Log in to join the conversation.
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 1
2 months 1 week ago #256679
by VictorROYER
Replied by VictorROYER on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Ah d'accord, peut-être que je vais tenter de modifier le message alros
de base, j'avais trouver ce message d'être dans le fichier php qanda_helper.php
Mais sinon, je n'arrive pas à voir où le message "Please enter a valid email address." s'affiche quand mon entrée utilisateur est fausse.
de base, j'avais trouver ce message d'être dans le fichier php qanda_helper.php
Mais sinon, je n'arrive pas à voir où le message "Please enter a valid email address." s'affiche quand mon entrée utilisateur est fausse.
Please Log in to join the conversation.
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 1
2 months 1 week ago #256733
by VictorROYER
Replied by VictorROYER on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Je viens de comprendre mon problème.
Déjà, l'utilisation de em_validation_q_tip est en effet la meilleure solution pour régler mon problème. j'ai fait un test avec le fichier lss de TMSWhite dans cet exemple :
forums.limesurvey.org/forum/can-i-do-thi...alidate-subquestions
Cependant, le message d'erreur apparaît dans le code html quand je fais inspecter, mais pas sur mon écran ( pas de message ni de contour rouge pour me signaler une erreur)
La structure de mon enquête créer peut-être cette erreur :
J'ai un groupe avec 2 questions, la première question Q1 permet d'afficher mon tableau avec mes boutons et la question Q2 me permet de créer mes entrées utilisateurs.
D'ailleurs, je remarque que le nom de ma question Q2 n'apparaît aussi pas sur mon enquête, mais est bien présent dans mon code html.
Il s'agit presque d'un autre problème, l'indication de validation de la question Q2 n'apparaît pas s'il y a plusieurs questions dans le groupe.
Dois-je créer un nouveau topic ?
Déjà, l'utilisation de em_validation_q_tip est en effet la meilleure solution pour régler mon problème. j'ai fait un test avec le fichier lss de TMSWhite dans cet exemple :
forums.limesurvey.org/forum/can-i-do-thi...alidate-subquestions
Cependant, le message d'erreur apparaît dans le code html quand je fais inspecter, mais pas sur mon écran ( pas de message ni de contour rouge pour me signaler une erreur)
La structure de mon enquête créer peut-être cette erreur :
J'ai un groupe avec 2 questions, la première question Q1 permet d'afficher mon tableau avec mes boutons et la question Q2 me permet de créer mes entrées utilisateurs.
D'ailleurs, je remarque que le nom de ma question Q2 n'apparaît aussi pas sur mon enquête, mais est bien présent dans mon code html.
Il s'agit presque d'un autre problème, l'indication de validation de la question Q2 n'apparaît pas s'il y a plusieurs questions dans le groupe.
Dois-je créer un nouveau topic ?
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 1 week ago #256788
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
La Q2 est en display:none.
Elle à des conditions ?
Elle à des conditions ?
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Please Log in to join the conversation.
- VictorROYER
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 1
2 months 6 days ago #256852
by VictorROYER
Replied by VictorROYER on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13648
- Thank you received: 2491
2 months 6 days ago #256867
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Indiquer la(le) sous-question(s) qui ne valides pas la regex
L'erreur s'affiche sur la Q2 : c'est logique.
Tu utilise une bidouille : donc faut adapter.
Place les tests de la Q2 dans les champs de logique de la Q1.
Tu utilise une bidouille : donc faut adapter.
Place les tests de la Q2 dans les champs de logique de la Q1.
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: VictorROYER
Please Log in to join the conversation.
Moderators: Nickko