Page 1 sur 2
Peut t'on brider un champ au niveau du contenu?

Publié:
07 Déc 2010 à 08:44
par cyril08
Bonjour,
J'ai un champs SE que je souhaiterais brider :
SE : "XXX CCC XX" les X sont obligatoirement des lettres et les C des chiffres.
Y-a-t-il une possibilitée?
merci

Publié:
07 Déc 2010 à 08:47
par Michael DELIQUE
salut
en Lotus script c'est faisable, mais pas à la saisie. tu voudrais un champ avec une sorte de préformatage ?

Publié:
07 Déc 2010 à 08:54
par seroa
Salut, en javascript, tu peux avec les Regular Expression
Il te suffit de créer une fonction verification dans ce style :
var chaine = tonchamp;
var reg = new RegExp('ta formule RegEx');
if(!reg.test(chaine))
{
alert('Warning : format incorect');
return false;
}

Publié:
07 Déc 2010 à 09:11
par cyril08
Michael DELIQUE a écrit:salut
en Lotus script c'est faisable, mais pas à la saisie. tu voudrais un champ avec une sorte de préformatage ?
Oui c exact

Publié:
07 Déc 2010 à 09:12
par Michael DELIQUE
pas de champ pré-formaté...
tout ce que tu peut faire c'est un controle apres saisie, ou alors il faut que tu explose ta saisie en plusieurs champs

Publié:
07 Déc 2010 à 14:57
par LSong
on peu faire des choses avec un NotesTimer
ca permet d'appeler une fonction toutes les x secondes
du coup tant que tu es dans le champs tu peu faire un check périodique, mais c'est pas super stable je trouve

Publié:
07 Déc 2010 à 15:06
par Michael DELIQUE
l'idée est pas mauvaise, mais tu risque de bouffer un max de ressource pour pas grand chose

Publié:
07 Déc 2010 à 15:33
par amahi
Quelque soit le language tu n'auras pas le preformatage. La seule chose que tu peut faire simplement c'est à la validation d'entree verifier que les données correspondent a ce que tu attends et bloquer l'enregistrement en cas de non conformité.

Publié:
07 Déc 2010 à 15:36
par Michael DELIQUE
ou alors passer par une dialogbox ou tu aurra éclater le champ en plusieurs en fonction du formatage

Publié:
07 Déc 2010 à 19:53
par cyril08
amahi a écrit:Quelque soit le language tu n'auras pas le preformatage. La seule chose que tu peut faire simplement c'est à la validation d'entree verifier que les données correspondent a ce que tu attends et bloquer l'enregistrement en cas de non conformité.
C'est une chose que j'avais pensé mais je ne vois pas du tout comment mi prendre sachant que :
mon champ SE sera de la forme : LLL CCC LL avec L:lettre et C:Chiffre
cela implique pour chaque champ SE que je mettrais dans mes masque SE1, SE2 ....SEx... que toutes les lettres peuvent être A,B...à Z et mes chiffres de 001 à 100

Publié:
07 Déc 2010 à 20:42
par roubech
comme dit précédemment, selon que tu veux une aide à la saisie :
a) une petite fonction LS qui ouvre une boite de dialogue et retourne une chaine formatée selon ton besoin, que tu appelles sur un bouton pour chacun des tes champs
ou juste un contrôle de validation
b) une fonction JS basée sur une RegEx appellé dans le onChange par exemple de chaque champs concernées
http://www.commentcamarche.net/contents ... egexp.php3

Publié:
07 Déc 2010 à 20:43
par Michael DELIQUE
re,
passe par une dialoguebox qui affiche chaque champ séparement et le ls concatene le tout ensuite.
ensuite dans la validation du champ en jouant avec @replace tu devrais t'en sortir

Publié:
07 Déc 2010 à 23:00
par cyril08
Michael DELIQUE a écrit:re,
passe par une dialoguebox qui affiche chaque champ séparement et le ls concatene le tout ensuite.
ensuite dans la validation du champ en jouant avec @replace tu devrais t'en sortir
Qu"appelle tu dialogbox? c ds le LS aussi??

Publié:
08 Déc 2010 à 00:03
par roubech

Publié:
14 Déc 2010 à 15:58
par cyril08
J'ai bien pris en compte la solution dialogbox
@DialogBox( form ; [AUTOHORZFIT] : [AUTOVERTFIT] : [NOCANCEL] : [NONEWFIELDS] : [NOFIELDUPDATE] : [READONLY] : [SIZETOTABLE] : [NOOKCANCEL] : [OKCANCELATBOTTOM] : [NONOTE] ; title )
est ce quelqu'un pourrais m'éclairer sur le contenu de cette formule car j'ai du mal à comprendre même avec les exmples du lien ci-dessus.
Je rappelle le But qui est de crée un champ ou le formalisme est :
LLL CCC LL ou chaque C peut aller de 1 à 9 et chaque L de A à Z
merci