dernier caractère

More
7 months 1 week ago #171010 by Eurosyn
dernier caractère was created by Eurosyn
Bonjour,

existe-t-il une syntaxe pour interdire un caractère spécifique dans une zone de texte ? Dans mon cas, je souhaiterai éviter que les répondants ne mettent un espace en fin de chaine.

Plus précisément, s'agissant d'entrer un prénom, je souhaiterai que les répondants soient forcés à utiliser la syntaxe suivante :
- 1ère lettre en majuscule
- suite en lettre minuscule, espace et tiret autorisés
- éviter que les répondants n'insèrent pas mégarde un espace en fin de chaine

Merci pour votre aide !
Jonas

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171013 by DenisChenu
Replied by DenisChenu on topic dernier caractère
Pour l'espace en fin de chaine : trim(self.NAOK) == self.NAOK .

On a pas déjà fait la regexp pour le reste ? Mais dans la regexp on accepte les espace, c'est ça ?

Si oui : tu peux mettre les 2 tests avec un and entre les 2.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171018 by Eurosyn
Replied by Eurosyn on topic dernier caractère
Pour la 1ère lettre en majuscule j'ai ucwords(ID_prenom.NAOK) == ID_prenom.NAOK
En revanche, je n'ai rien qui permette de n'autoriser que les minuscules pour les autres caractères.
J'utilise la syntaxe suivante pour forcer des majuscules dans le NOM : regexMatch("/^[A-Z ]*$/", ID_NOM)
Mais le probème est qu'en utilisant regexMatch("/^[a-z ]*$/", ID_prenom), l'ucwords ne fonctionne plus

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171022 by Eurosyn
Replied by Eurosyn on topic dernier caractère
Je ne suis d'ailleurs pas sûr d'utiliser correctement ces fonctions.
En mettant l'ucwords dans l'équation de validation de question, je parviens à forcer les répondants à mettre une majuscule au début.
En revanche, si je mets le trim, cela ne fonctionne pas. Est-ce que j'utilise bien ces fonctions ?

Cordialement
Jonas

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago - 7 months 1 week ago #171052 by DenisChenu
Replied by DenisChenu on topic dernier caractère
As tu essayé
regexMatch("/^[A-Z].[a-z\- ]*$/", ID_NOM.NAOK)  and trim(ID_NOM.NAOK) == ID_NOM.NAOK

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Last edit: 7 months 1 week ago by DenisChenu.

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171093 by Eurosyn
Replied by Eurosyn on topic dernier caractère
Cela fonctionne presque. Mon seul problème est que cela bloque dans le cas de nom composé ou multiple.
Par exemple, je peux écrire 'Jean-pierre' mais pas 'Jean-Pierre' ou 'Alexandre junior' mais pas 'Alexandre Junior', ce que la fonction ucwords permettait en revanche (mais ne bloquait pas en minuscule).

Une idée pour combiner les deux ?

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago - 7 months 1 week ago #171095 by DenisChenu
Replied by DenisChenu on topic dernier caractère
Donc, tu as besoin de ucwords …

et
ucwords(ID_NOM.NAOK) == ID_NOM.NAOK and trim(ID_NOM.NAOK) == ID_NOM.NAOK

?

Ou meme mieux :
(regexMatch("/^[A-Z].[a-z\- ]*$/", ID_NOM.NAOK)  or  ucwords(ID_NOM.NAOK) == ID_NOM.NAOK)  and trim(ID_NOM.NAOK) == ID_NOM.NAOK

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Last edit: 7 months 1 week ago by DenisChenu.

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171103 by Eurosyn
Replied by Eurosyn on topic dernier caractère
Option 1 : Avec seulement la condition ucwords, je ne peux pas obliger mon utilisateur à ne mettre que des minuscules (sauf 1ère lettre).

Option 2 : Le problème est qu'avec la condition 'or', si l'utilisateur met une majuscule à la 1ère lettre, il respecte donc bien la regle ucwords donc le regexMatch devient caduque et il peut alors continuer à entrer des lettres majuscules

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171112 by DenisChenu
Replied by DenisChenu on topic dernier caractère
Oups,

Plus facile :
(regexMatch("/^[A-Z].[a-z\- ]*$/", ID_NOM.NAOK)  or  ucwords(strtolower(ID_NOM.NAOK)) == ID_NOM.NAOK)  and trim(ID_NOM.NAOK) == ID_NOM.NAOK

ucwords(strtolower(ID_NOM.NAOK)) : passe en minuscule puis passe les première lettres en majuscule.

Mais bon, tous ça n'est pas réellement lié à 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 (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
The following user(s) said Thank You: Eurosyn

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171116 by Eurosyn
Replied by Eurosyn on topic dernier caractère
C'est génial, merci !

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171118 by DenisChenu
Replied by DenisChenu on topic dernier caractère
Bon en même temps, là tu empêche les Jean pierre Paul …

Sinon : même remarque que pour le téléphone : tu peux très bien laisser les personnes écrirent ce qu'elle veule et recalculer ensuite.

Ca serait un truc du genre : question Equation trim(ucwords(strtolower(ID_NOM.NAOK)))

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
The following user(s) said Thank You: Eurosyn

Please Log in or Create an account to join the conversation.

More
7 months 1 week ago #171123 by Eurosyn
Replied by Eurosyn on topic dernier caractère
OK, merci pour l'info

Please Log in or Create an account to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!