Welcome to the LimeSurvey Community Forum

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

validation d'un champ nom et prénom

  • Castella
  • Castella's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 11 months ago #197339 by Castella
validation d'un champ nom et prénom was created by Castella
Bonjour,
Cette expression regex devrait marcher : (([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[ ]?)?){1,2} (Elle admet les situations suivantes : Jean-Pierre Morand Dubuis, Noël Duvernois, etc. Mais je ne sais pas comment la mettre dans un champs de validation d'une question texte intitulée [nom]
J'ai essayer de faire plein de recherches, mais je dois être assez nul : je ne trouve pas.
Merci de m'aider,
Cédric
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 11 months ago #197344 by Joffm
Replied by Joffm on topic validation d'un champ nom et prénom
Bonjour,

regexMatch('/^[0-9]{1,3}$/',self)

Il s'agit de la structure de la validation LimeSurvey.
Je ne sais pas si ton expression regex est correcte

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Castella
  • Castella's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 11 months ago #197375 by Castella
Replied by Castella on topic validation d'un champ nom et prénom
Super, merci beaucoup. Oui, ma structure regex est correcte.
Résultat final : regexMatch("/(([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[ ]?)?){1,2}/",self) (j'ai dû utiliser " plutôt que ' parce que justement j'utilise ' pour des sortie du genre O'Connell
The topic has been locked.
  • Castella
  • Castella's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 11 months ago #197376 by Castella
Replied by Castella on topic validation d'un champ nom et prénom
Juste une petite erreur : (([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[- ]?)?){1,2} (j'avais oublié un trait d'union dans la deuxième partie)
The topic has been locked.
  • Castella
  • Castella's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 11 months ago #197378 by Castella
Replied by Castella on topic validation d'un champ nom et prénom
Et comme je suis pas très doué, j'aurais dû être plus attentif. Si je veux que la correspondance soit totale et non seulement partielle, je dois mettre ^ au début et $ à la fin
The topic has been locked.
  • Castella
  • Castella's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 11 months ago #197382 by Castella
Replied by Castella on topic validation d'un champ nom et prénom

Castella wrote: Bonjour,
Cette expression regex devrait marcher : (([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[ ]?)?){1,2} (Elle admet les situations suivantes : Jean-Pierre Morand Dubuis, Noël Duvernois, etc. Mais je ne sais pas comment la mettre dans un champs de validation d'une question texte intitulée [nom]
J'ai essayer de faire plein de recherches, mais je dois être assez nul : je ne trouve pas.
Merci de m'aider,
Cédric

Désormais, ça marche : regexMatch("/^(([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[- ]?)?){1,2}$/",self)
MAIS pas les indications (tip) pour indiquer si l'entrée est correcte ou non. Ça reste obstinément sur l'indication rouge d'erreur (ce qui n'empêche pas que si c'est correct, ça passe et si c'est faux, on revient à cette question avec le pop-up indiquant de façon non-spécifique qu'il y a une erreur.)
J'ai essayé plein de possibilités du genre {if(regexMatch("/^(([\p{Lu}](\p{Lu})?\p{Ll}*)([- ]\p{Lu}(\p{Lu})?\p{Ll}*[- ]?)?){1,2}$/",self),"Correct","Incorrect")} avec éventuellement un is_empty(self) or... en plus, mais rien à faire. Qu'est-ce que je peux bien faire de faux ?
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 11 months ago - 3 years 11 months ago #197427 by DenisChenu
Replied by DenisChenu on topic validation d'un champ nom et prénom
La difficulté du regexpMatch pour les tips est que l'expression doit fonctionner en javascript.

En plus : peut être que le code de la fonction utilisé possède de bogue : github.com/LimeSurvey/LimeSurvey/blob/ae...ascript.js#L847-L858

Voici celle en php : github.com/LimeSurvey/LimeSurvey/blob/ae...lper.php#L3051-L3059

PS : locutus utilise une fonction beaucoup plus simple : locutus.io/php/pcre/preg_match/index.html
Pourquoi pas LimeSurvey ?

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.
Last edit: 3 years 11 months ago by DenisChenu.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose