Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Controle de validité d'un code postal saisie

  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 5 months ago #159749 by philippe42
Bonjour,

Je souhaite effectuer 2 contrôles sur un code postal saisi.
  1. Si le code postal n'est pas d'un département donné, afficher un message d'erreur.(Test sur les 2 premiers caractères du code postal)
  2. Si le code postal appartient à un ensemble de codes postaux (Un arrondissement). Afficher un autre message d'erreur.

Je n'ai pas la possibilité de créer des scripts . Cela est verrouillé par l'administrateur.

J'ai quelques notions de LimeSurvey.... Pour les 2 messages, j'ai créé 2 questions de type "Affichage de texte" mais je ne vois comment définir les conditions d'affichage.
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 5 months ago #159754 by Nickko
C'est le bouton "fixer les conditions" lorsque tu es sur le détail d'une question.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 5 months ago #159763 by philippe42
Replied by philippe42 on topic Controle de validité d'un code postal saisie
Merci Nickko pour ta réponse.

Je me suis mal exprimé, je sais comment accéder à la page qui permet de fixer les conditions d'affichage mais je ne sais pas comment écrire une formule complexe de validité dans cette page. (mis à part l'utilisation d'une expression régulière)

Exemple : si le code postal saisi appartient à une liste de codes postaux prédéfinie alors j'affiche cette question de type "affichage de texte"
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 5 months ago #159765 by Nickko
Il y a la notion de scénario pour les "OU" entre conditions et à l'intérieur d'un scénario, c'est "ET".
Je pense que tu peux gérer ça comme des nombre code_postal > 10000 et code_postal < 23500 etc.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 5 months ago #159767 by philippe42
Replied by philippe42 on topic Controle de validité d'un code postal saisie
Oui merci, c'est une solution.

Je n'avais pas trop regardé les expressions régulières mais pour ma première condition l'expression ci-dessous semble fonctionner :

Par exemple, pour afficher un message indiquant que le code postal saisi n'est pas un code postal du département 26, l'expression régulière [^(26)][0-9][0-9][0-9] semble correcte.

Pour ma deuxième condition je dois pouvoir aussi lister l'ensemble des codes postaux dans la condition régulière.
[26100]|[26200]|[26220]...... si je ne suis pas limité par la longueur autorisée d'une expression régulière
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 5 months ago #159769 by Nickko
Top, dis nous si ça fonctionne.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 5 months ago #159783 by philippe42
Replied by philippe42 on topic Controle de validité d'un code postal saisie
  1. Pour la 1ère expression c'est OK : [^(26)][0-9][0-9][0-9] ( le code postal est en dehors du département 26 )
  2. Pour la 2ème faut remplacer les [ ] par des ( ) et c'est OK : (26100)|(26200)|(26220)...... (le code postal appartient à ceux présents dans l'expression régulière")

On peut clore ce sujet. :)
Merci
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 5 months ago #159788 by DenisChenu
Replied by DenisChenu on topic Controle de validité d'un code postal saisie
Sur la 1ère , on peut aussi utiliser
strlen(CodePostal) == 5 AND substr(CodePostal,0,2) == "26"

Sur la 2ème : il semble que tu ais trouvé le meilleur moyen

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 topic has been locked.
  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 5 months ago #159791 by philippe42
Replied by philippe42 on topic Controle de validité d'un code postal saisie
Merci DenisChenu,

On peut ta formule au même endroit que l'expression régulière ?
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 5 months ago #159794 by DenisChenu
Replied by DenisChenu on topic Controle de validité d'un code postal saisie
Non, c'est plus au niveau de la validation de question , tout en bas des paramètres. Ce qui est bien c'est que cela te permet d'indiquer le texte d'aide que tu souhaite.
manual.limesurvey.org/Question_type_-_Sh...8em_validation_sq.29

Pour y utiliser une regexp : il y a la fonction manual.limesurvey.org/Expression_Manager#Access_to_Functions regexMatch(pattern,input)

Donc regexMatch("/(26100)|(26200)|(26220)/",self) dans ton cas

Ce qui peut te permettre d'avoir le texte "Votre code postal ne semble pas valide".

Mais sinon : tu peux être intéressé par extensions.sondages.pro/questions-updati...a/documentation.html

Comme tu peux manipuler la base tu pourrais supprimer les lignes non désirables de la table.

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 topic has been locked.
  • philippe42
  • philippe42's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 4 months ago #159818 by philippe42
Replied by philippe42 on topic Controle de validité d'un code postal saisie
Merci Denis pour toutes ces infos.

Cette extension est très intéressante mais je n'ai pas la main sur l'hébergement de l'application. De ce fait, je ne peux pas l'installer.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose