validation d'un champ nom et prénom

More
2 months 3 weeks ago #197339 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

Please Log in to join the conversation.

LimeSurvey Partners
More
2 months 3 weeks ago #197344 by Joffm
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

Please Log in to join the conversation.

More
2 months 3 weeks ago #197375 by Castella
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

Please Log in to join the conversation.

More
2 months 3 weeks ago #197376 by Castella
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)

Please Log in to join the conversation.

More
2 months 3 weeks ago #197378 by Castella
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

Please Log in to join the conversation.

More
2 months 3 weeks ago #197382 by Castella

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 ?

Please Log in to join the conversation.

More
2 months 3 weeks ago - 2 months 3 weeks ago #197427 by DenisChenu
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: 2 months 3 weeks ago by DenisChenu.

Please Log in to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now