dernier caractère

More
1 week 3 days ago #171010 by Eurosyn
Eurosyn created the topic: dernier caractère
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
1 week 3 days ago #171013 by DenisChenu
DenisChenu replied the 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
1 week 3 days ago #171018 by Eurosyn
Eurosyn replied the 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
1 week 3 days ago #171022 by Eurosyn
Eurosyn replied the 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
1 week 2 days ago - 1 week 2 days ago #171052 by DenisChenu
DenisChenu replied the 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: 1 week 2 days ago by DenisChenu.

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

More
1 week 2 days ago #171093 by Eurosyn
Eurosyn replied the 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
1 week 2 days ago - 1 week 2 days ago #171095 by DenisChenu
DenisChenu replied the 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: 1 week 2 days ago by DenisChenu.

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

More
1 week 2 days ago #171103 by Eurosyn
Eurosyn replied the 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
1 week 2 days ago #171112 by DenisChenu
DenisChenu replied the 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
1 week 2 days ago #171116 by Eurosyn
Eurosyn replied the topic: dernier caractère
C'est génial, merci !

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

More
1 week 2 days ago #171118 by DenisChenu
DenisChenu replied the 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
1 week 2 days ago #171123 by Eurosyn
Eurosyn replied the 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!