Vous êtes sur la page 1sur 8

Contraintes de champs

1
Historique du document
Version Date Auteur Modifications effectues
1.0 12/10/2009 Laurent SEYMAN Cration du document
1.1 16/07/2012 Laurent SEYMAN Mise la charte graphique 2012
1.2 01/08/2013 Laurent SEYMAN Mise jour pour EasyVista 2013

Ce document explique la mise en place des contraintes de champs dans EasyVista.

2
Sommaire
A. Principe de fonctionnement......................................................4

B. Cration dune contrainte.........................................................5

C. Expressions rgulires.............................................................6
C.1. Dfinition.......................................................................................................6
C.2. Construire une expression rgulire.........................................................6

D. Rcapitulatif des caractres spciaux utiliss dans


les expressions rgulires.......................................................7

E. Quelques exemples dexpressions rgulires........................8

3
A. Principe de fonctionnement
Le systme de gestion de contraintes a t mis en place afin de dfinir pour chaque champ souhait, un format dentre valide.
Ce mcanisme a t positionn au niveau du module Administration, menu Paramtrages > Contraintes. Ce menu affiche
une liste de champs ainsi que la contrainte de saisie associe.

Il est possible de crer une nouvelle contrainte laide du bouton situ sur la grille ou dditer une contrainte existante
laide de lassistant :

4
B. Cration dune contrainte

Le fait de cliquer sur le bouton permet de lancer lassistant de saisie une contrainte. Pour cela, il suffit de mettre un nom
cette contrainte, de slectionner la table dans la liste droulante puis de slectionner la liste des champs associs. Une fois
cela fait, il reste dfinir la contrainte laide dune expression rgulire.

Avant dinsrer ou de modifier une donne, une vrification des contraintes existantes sera effectu. En cas derreur, lutilisateur
verra apparatre un message derreur lui indiquant le champ qui a pos problme.

5
C. Expressions rgulires

C.1. Dfinition
Les expressions rgulires sont des modles crs l'aide de caractres ASCII permettant de manipuler des chanes de
caractres, c'est--dire permettant de trouver les portions de la chane correspondant au modle.

C.2. Construire une expression rgulire


Les expressions rgulires permettent de rechercher des occurrences (c'est--dire une suite de caractres correspondant ce
que l'on recherche) grce une srie de caractres spciaux. L'expression rgulire en elle-mme est donc une chane de
caractre contenant des caractres spciaux et des caractres standards.

Les symboles *, + et ?, respectivement zro ou plusieurs , un ou plusieurs , un ou aucun , permettent de donner une
notion de nombre.

abc+ : chane qui contient ab suivie de un ou plusieurs c ( abc , abcc ...)

abc* : chane qui contient ab suivie de zro ou plusieurs c ( ab , abc ...)

abc? : chane qui contient ab suivie de zro ou un c ( ab ou abc )

Les accolades {X,Y} permettent de donner des limites de nombre.


abc{2} : chane qui contient ab suivie de deux c ( abcc )

abc{2,} : chane qui contient ab suivie de deux c ou plus ( abcc etc..)

abc{2,4} : chane qui contient ab suivie 2, 3 ou 4 c ( abcc ... abcccc )

Nb :
Le premier nombre de la limite ( {0,2} , mais pas {,2} ) est obligatoire. Les symboles vu prcdemment * , + et
? , sont quivalents {0,} , {1,} et {0,1} .

Les parenthses ( ) permettent de reprsenter une squence de caractres.


a(bc)* : chane qui contient a suivie de zro bc ou plus

La barre verticale | se comporte en tant qu'oprateur OU


un|le : chane qui contient un ou le

(un|le) chien : chane qui contient un chien ou le chien

(a|b)+ : chane qui contient une suite de a ou de b .


Ex : aab ou bab
3000|([1-2][0-9]{3})|([1-9][0-9]{2}) : nombre compris entre 100 et 3000
3000 => nombre 3000
[1-2][0-9]{3} => nombre compris entre 1000 et 2999
[1-9][0-9]{2} => nombre compris entre 100 et 999
Nb : Les parenthses sont facultatives car le | se comporte comme un sparateur dexpression

6
Le point . indique n'importe quel caractre (une fois)
.{3} : chane qui contient 3 caractres

A.{4} : chane commenant par un A et dune longueur de 5 caractres ; les 4 derniers tant nimporte quel caractre

Les crochets [ ] dfinissent une liste de caractres autoriss (ou interdits). Le signe - permet quant lui de dfinir un intervalle.
Le caractre ^ aprs le premier crochet indique quant lui une interdiction.
[abc] : chane qui contient un a, un b, ou un c

[a-z] : chane qui contient un caractre compris entre a et z

[^a-zA-Z]+ : chane qui ne contient pas par de lettres

Nb :
Pour rechercher un caractre faisant partie des caractres spciaux, il faut le faire prcder d'un antislash \ (sauf
entre crochets) un antislash doit donc tre doubl : \\ .
Lantislash \ ne doit jamais tre mis en dernier lorsquil est entre crochet sinon lexpression est fausse car il
considre que lon essaye dchapper le crochet fermant ]
Pour crire Une lettre en majuscule ou un antislash
Ne pas crire [A-Z\]
Mais [\A-Z]

Dans les crochets, chaque caractre reprsente ce qu'il est. Pour reprsenter un ] il faut le mettre en premier (ou aprs un ^ si
c'est une interdiction), un - se met en premier ou en dernier.

Un slash / doit toujours tre chapp laide dun antislash \ . Ex : si on veut crire toutes les lettres et le / sont
autoriss , on crira : [a-zA-Z\/]+.

Un antislash \ ne doit jamais tre mis en dernier ou devant un slash / si on souhaite lautoriser.
[\+?{}.] : chane qui contient un de ces six caractres

[]-] : chane qui contient le caractre ] ou le caractre -

[a-zA-Z\/] : chane qui contient une lettre ou un slash /

D. Rcapitulatif des caractres spciaux utiliss


dans les expressions rgulires
Caractre Utilit
[] Les crochets dfinissent une liste de caractres autoriss
() Les parenthses dfinissent un lment compos de l'expression rgulire qu'elle contient
Les accolades lorsqu'elles contiennent un ou plusieurs chiffres spars par des virgules reprsentent le nombre de
{}
fois que l'lment prcdant les accolades peut se reproduire (par exemple p{3,5} correspond ppp, pppp ou ppppp
- Un moins entre deux caractres dans une liste reprsente un intervalle (par exemple [a-d] reprsente [abcd])
. Le caractre point reprsente un caractre unique
* Le caractre astrisque indique la rptition indtermine de l'lment la prcdant
? Le caractre point d'interrogation indique la prsence ventuelle de l'lment la prcdant
| Occurrence de l'lment situ gauche de cet oprateur ou de celui situ droite (lard|cochon)
^ Utilis l'intrieur d'une liste il signifie ne contenant pas les caractres suivants...

7
E. Quelques exemples dexpressions rgulires

.{3} : chane qui contient 3 caractres

A.{4} : chane commenant par un A et dune longueur de 5 caractres ; les 4 derniers tant
nimporte quel caractre
[a-zA-Z]+ : chane qui contient un ou plusieurs caractres compris entre a et z ou A et Z

[^a-zA-Z]+ : chane qui ne contient pas ces plages de lettres

[\+?{}.] : chane qui contient un de ces six caractres

[^\+?{}.] : chane qui ne contient pas un de ces six caractres

abc{2} : chane qui contient ab suivie de deux c ( abcc )

abc{2,} : chane qui contient ab suivie de deux c ou plus ( abcc etc..)

[1-2][0-9]{3} : nombre compris entre 1000 et 2999

[1-9][0-9]{2} : nombre compris entre 100 et 999

(?=.*\w)(?=.*\d)(?=.*\W+).{8,} : mot de passe contenant 8 caractres alphanumrique dont un chiffre et


un caractre spcial

Vous aimerez peut-être aussi