Interdire la saisie de plus ou moins d'un certain nombre fixé

Résolu
cherine86 Messages postés 17 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 3 juillet 2012 - 1 juil. 2012 à 12:41
cherine86 Messages postés 17 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 3 juillet 2012 - 3 juil. 2012 à 10:19
Bonjour,
J'aimerai savoir est ce que c'est possible de limiter un champ
Dans le sens si je déclare par exemple:
Un champ Varchar(5) avec un code SQL en plus
L'utilisateur ne peut saisir que 5 caractères PAS PLUS PAS MOINS
Par exemple:
S'il essaye de saisir : 4 caractères ,3 ,2 ou 1 un message d'erreur est alors affiché
Et s'il saisit plus de 5 caractères, un message d'erreur s'affiche aussi
Merci de me proposer une solution :)

3 réponses

cherine86 Messages postés 17 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 3 juillet 2012
3 juil. 2012 à 10:19
Bonjour
je reviens avec une solution qu'une collègue de travail a trouvé:


DELIMITER $$
CREATE TRIGGER trigger1
BEFORE INSERT
ON `budget`
FOR EACH ROW
BEGIN
    if CHAR_LENGTH(NEW.`Cod_Ag`) <> 5 or (select NEW.`Cod_Ag`) not regexp '[0-9][0-9][0-9][0-9][0-9]' then
    call something;
END IF;
    if CHAR_LENGTH(NEW.`Cod_Ind`) <> 7 or (select NEW.`Cod_Ind`) not regexp '[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]' then
    call something;
      END IF;
END$$
DELIMITER;



Bonne continuation à tous et bon courage
3
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
2 juil. 2012 à 08:57
Bonjour,

L'utilisateur ne peut saisir que 5 caractères


Tu programme dans quel language ? quelle interface ?

C#, Visual basic, ASP.NET, Win Form ?

Bonne journée



Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
0
cherine86 Messages postés 17 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 3 juillet 2012
2 juil. 2012 à 14:51
Bonjour,
je travail avec juste Mysql et aucun langage de programmation
en faite ce que je souhaite
c'est que j'ai une table Budget elle contient l'attribut suivant:

Cod_Ag``char (5) NOT NULL


on sait que lorsque je saisie par exemple : Cod_Ag =897655555
un message d'erreur est envoyé via Mysql qui est :

DATA TOO LONG

je veux si je saisie aussi : Cod_Ag=001
j'aurai un message d'erreur par exemple:

DATA TOO SMALL

voici ci-dessous exemple de saisie correcte et pas correcte



Example:

11111 RIGHT =5

11 FALSE <5
00000 RIGHT =5
0 FALSE <5
777777 FALSE >5
98765 RIGHT =5
123 FALSE >5
10000 RIGHT =5
00001 RIGHT =5
001 FALSE <5

987654343 FALSE >5


Merci encore
0
Rejoignez-nous