|
|
|
|
|
- Présentation
- Caractéristiques du champ : saisie obligatoire
- Mettre en place la saisie obligatoire
- Gestion de la saisie obligatoire non bloquante
- Textes et options d'affichage : paramètres concernant la saisie obligatoire
- Caractéristiques du champ : saisie invalide
- Mettre en place la vérification de la saisie invalide
- Gestion de la saisie invalide non bloquante
- Textes et options d'affichage : paramètres concernant la saisie invalide
- Exemple
- Gestion de la saisie obligatoire et de la saisie invalide par programmation
Saisie obligatoire ou invalide dans WINDEV
WINDEV et WINDEV Mobile proposent plusieurs options permettant de gérer la saisie obligatoire ou invalide, aussi bien via l'éditeur de fenêtres que par programmation. Ces options sont disponibles pour les champs suivants : - Champ de saisie,
- Champ Combo (avec ou sans saisie),
- Champ Interrupteur et champ Sélecteur,
- Champ Notation.
La mise en évidence de la saisie obligatoire peut être effectuée : - Via le texte d'indication (si le champ est vide),
- En modifiant le style du champ,
- En affichant le picto de saisie obligatoire,
- En affichant le texte d'explication.
Caractéristiques du champ : saisie obligatoire Dans une application WINDEV ou WINDEV Mobile, il est possible d'indiquer si la saisie est obligatoire ou non dans un champ. Si la saisie est obligatoire, deux cas peuvent se présenter : - la saisie obligatoire peut être bloquante.
Dans ce cas, la vérification de la saisie est effectuée lors de la sortie du champ. Si l'utilisateur n'a pas effectué une saisie dans le champ, il sera bloqué : il ne pourra pas sortir du champ. - la saisie obligatoire peut être non bloquante.
Dans ce cas, la vérification de la saisie est effectuée à la fin de la saisie dans les différents champs de l'interface. Ainsi, l'utilisateur n'est pas bloqué lors de la saisie. La vérification des champs avec saisie obligatoire doit être effectuée par programmation avec la fonction SaisieInvalideDétecte.
Mettre en place la saisie obligatoire Pour configurer un champ à saisie obligatoire : - Affichez la fenêtre de description du champ.
- Affichez l'onglet "Détail" et sélectionnez une valeur pour l'option "Saisie obligatoire" :
- "Non" (par défaut) : le champ ne gère pas la saisie obligatoire.
- "Oui, bloquant" : le champ gère la saisie obligatoire en mode bloquant. L'utilisateur ne pourra pas sortir du champ sans avoir effectué une saisie.
- "Oui, non bloquant" : le champ gère la saisie obligatoire en mode non bloquant. L'utilisateur peut ne pas effectuer de saisie dans le champ. Le contrôle sera effectué par programmation via la fonction SaisieInvalideDétecte.
Remarque : il est possible de configurer les options d'indication de la saisie obligatoire via le bouton . - Validez la fenêtre de description du champ.
Remarque : La propriété SaisieObligatoire permet de connaître et de modifier cette option par programmation. Gestion de la saisie obligatoire non bloquante Pour gérer la saisie obligatoire non bloquante, il est nécessaire d'appeler la fonction SaisieInvalideDétecte (par exemple, dans le code d'un champ Bouton d'ajout dans la base de données). Cette fonction permet de vérifier si tous les champs de saisie obligatoires de la fenêtre en cours ont bien été renseignés. Selon les options définies via le bouton , les champs posant problème sont mis en évidence. Remarque : L'événement optionnel "Autorisation de fermeture de la fenêtre" peut également être utilisé pour valider les différents éléments d'une fenêtre et pour appeler la fonction SaisieInvalideDétecte. Si cet événement renvoie Faux, la fenêtre en cours ne sera pas fermée.
Textes et options d'affichage : paramètres concernant la saisie obligatoire Le bouton présent à côté de l'option "Saisie obligatoire" permet de définir les changements d'aspect du champ.
Deux types d'affichage sont disponibles : - l'affichage d'une indication : permet d'indiquer que la saisie est obligatoire lorsque la saisie est vide AVANT l'exécution de la fonction SaisieInvalideDétecte.
- l'affichage d'une erreur : permet d'indiquer que la saisie est obligatoire lorsque la saisie est vide APRES l'exécution de la fonction SaisieInvalideDétecte.
Dans les deux cas, il est possible de : - Modifier le style du champ : Cette option modifie le style du champ. Le style utilisé pour l'indication et pour l'erreur est défini dans l'onglet "Style" du champ.
- Afficher le picto de saisie obligatoire (indication) : Cette option affiche un picto spécifique dans le champ. Le picto utilisé ainsi que sa position par rapport à la zone de saisie est défini dans l'onglet "Style" du champ (élément "Saisie obligatoire (indication/erreur) : Explication et picto", bouton "Picto".
Si cette option est choisie, il est possible de saisir le texte d'explication. Ce texte sera affiché au survol du champ et lors du clic sur le picto. Remarque : Si le texte d'explication n'est pas spécifié, un texte d'explication par défaut sera affiché.
- Afficher le texte d'explication : Affiche le texte d'explication sous le champ. Si le texte d'explication n'est pas spécifié, un texte d'explication par défaut sera affiché. Attention : Cette option modifie l'interface. Si cette option est sélectionnée, le texte d'indication choisi est affiché directement sous le champ dans la fenêtre en édition. Il peut être nécessaire d'adapter l'interface pour que le champ soit affiché entièrement.
Caractéristiques du champ : saisie invalide WINDEV et WINDEV Mobile permettent de vérifier si la saisie effectuée correspond à un masque défini avec une variable de type MasqueDeSaisie. Si ce n'est pas le cas, la saisie est considérée comme invalide lors de l'appel de la fonction SaisieInvalideDétecte.
La saisie invalide peut être : - bloquante.
Dans ce cas, la vérification du masque est effectuée lors de la sortie du champ. Si le masque ne correspond pas au masque attendu, l'utilisateur sera bloqué : il ne pourra pas sortir du champ. - non bloquante.
Dans ce cas, la vérification du masque est effectuée à la fin de la saisie dans les différents champs de l'interface. Ainsi, l'utilisateur n'est pas bloqué lors de la saisie. La vérification des champs avec saisie invalide doit être effectuée par programmation avec la fonction SaisieInvalideDétecte.
Mettre en place la vérification de la saisie invalide Pour configurer la vérification de la saisie invalide d'un champ : - Définissez une variable de type MasqueDeSaisie correspondant au masque de saisie à appliquer au champ.
Attention : Pensez à définir la procédure WLangage appelée par la propriété VérifieSiSaisieValide de la variable MasqueDeSaisie. En effet, cette procédure sera automatiquement appelée lors de l'utilisation de la fonction SaisieInvalideDétecte pour déterminer si le texte saisi est valide. - Définissez dans le code du champ le masque de saisie à utiliser, grâce à la propriété MasqueSaisie.
- Affichez la fenêtre de description du champ.
- Dans l'onglet "Détail", Sélectionnez une valeur pour l'option "Saisie invalide" :
- "Non" (par défaut) : le champ ne gère pas la saisie invalide.
- "Oui, bloquant" : le champ gère la saisie invalide en mode bloquant. L'utilisateur ne pourra pas sortir du champ sans avoir effectué une saisie valide.
- "Oui, non bloquant" : le champ gère la saisie invalide en mode non bloquant. L'utilisateur peut saisir une valeur invalide dans le champ. Le contrôle sera effectué par programmation via la fonction SaisieInvalideDétecte.
Remarque : il est possible de configurer les options d'indication de la saisie obligatoire via le bouton . - Validez la fenêtre de description du champ.
Nouveauté SaaSRemarque : La propriété SaisieInvalide permet de connaître et de modifier cette option par programmation. Gestion de la saisie invalide non bloquante Pour gérer la saisie invalide non bloquante, il est nécessaire d'appeler la fonction SaisieInvalideDétecte (par exemple, dans le code d'un champ Bouton d'ajout dans la base de données). Cette fonction permet de vérifier si tous les champs de saisie ayant l'option "invalide" de la fenêtre en cours sont corrects. Selon les options définies via le bouton , les champs posant problème sont mis en évidence. Remarque : L'événement optionnel "Autorisation de fermeture de la fenêtre" peut également être utilisé pour valider les différents éléments d'une fenêtre et pour appeler la fonction SaisieInvalideDétecte. Si cet événement renvoie Faux, la fenêtre en cours ne sera pas fermée. Textes et options d'affichage : paramètres concernant la saisie invalide Le bouton présent à côté de l'option "Saisie invalide" permet de définir les changements d'aspect du champ.
En cas de saisie invalide, il est possible de : - Modifier le style du champ : Modifie le style du champ. Le style utilisé pour les différents éléments de la saisie invalide est défini dans l'onglet "Style" du champ.
- Afficher le picto de saisie obligatoire : Affiche un picto spécifique dans le champ. Le picto utilisé ainsi que sa position par rapport à la zone de saisie est défini dans l'onglet "Style" du champ (élément "Saisie invalide : Explication et picto", bouton "Picto".
Si cette option est choisie, il est possible de saisir le texte d'explication. Ce texte sera affiché au survol du champ et lors du clic sur le picto. Remarque : Si le texte d'explication n'est pas spécifié, un texte d'explication par défaut sera affiché.
- Afficher le texte d'explication : Affiche le texte d'explication sous le champ. Si le texte d'explication n'est pas spécifié, un texte d'explication par défaut sera affiché. Attention : Cette option modifie l'interface. Si cette option est sélectionnée, le texte d'indication choisi est affiché directement sous le champ dans la fenêtre en édition. Il peut être nécessaire d'adapter l'interface pour que le champ soit affiché entièrement.
Exemple Cet exemple utilise un champ de saisie permettant de saisir un numéro de téléphone et un bouton de vérification. - L'événement "Sortie" du champ contient le code suivant :
MoiMême.MasqueSaisie = gMasqueTéléphone - Le code d'initialisation du projet contient le code suivant permettant de définir la variable de type MasqueDeSaisie :
gsMasqueTéléphone est une chaîne = "99 99 99 99 99"
gMasqueTéléphone est un MasqueDeSaisie
gMasqueTéléphone.VérifieSiSaisieValide = VerifieSiSaisieValide
gMasqueTéléphone.ValideEnSaisie = ValideEnSaisie
gMasqueTéléphone.FormateEnSaisie = FormateEnSaisie
gMasqueTéléphone.FormateEnSortie = FormateEnSortie
gMasqueTéléphone.FormateEnEntrée = FormateEnEntrée
gMasqueTéléphone.FormateEnAffectation = FormateEnAffectation
PROCÉDURE INTERNE VerifieSiSaisieValide(sTexte est une chaîne) : booléen
RENVOYER VérifieExpressionRégulière(sTexte, "[0-9 ]*") _ET_
Taille(ChaîneFormate(sTexte, ccSansEspaceIntérieur)) = 10
FIN
PROCÉDURE INTERNE FormateEnSaisie(LOCAL sTexteAvant est une chaîne,
LOCAL nCurseurAvant est un entier,
LOCAL nFinCurseurAvant est un entier, sTexteApres est une chaîne,
nCurseurApres est un entier,
nFinCurseurApres est un entier)
SI Taille(sTexteAvant) > Taille(sTexteApres) ALORS RETOUR
SI nFinCurseurApres = Taille(sTexteApres) + 1 ALORS
SI Milieu(gsMasqueTéléphone, nFinCurseurApres, 1) = " " ALORS
sTexteApres += " "
nFinCurseurApres ++
nCurseurApres = nFinCurseurApres
FIN
FIN
FIN
PROCÉDURE INTERNE ValideEnSaisie(sTexte chaîne) : booléen
RENVOYER VérifieExpressionRégulière(sTexte, "[0-9 ]*")
FIN
PROCÉDURE INTERNE ValideEnSortie(sTexte chaîne) : booléen
RENVOYER VérifieExpressionRégulière(sTexte, "[0-9 ]*")
FIN
PROCÉDURE INTERNE FormateEnSortie(sTexte_INOUT est une chaîne)
FormateChaîneEnNuméroTéléphone(sTexte_INOUT)
FIN
PROCÉDURE INTERNE FormateEnEntrée(sTexte_INOUT est une chaîne)
FormateChaîneEnNuméroTéléphone(sTexte_INOUT)
FIN
PROCÉDURE INTERNE FormateEnAffectation(sTexte_INOUT est une chaîne)
FormateChaîneEnNuméroTéléphone(sTexte_INOUT)
FIN
PROCÉDURE INTERNE FormateChaîneEnNuméroTéléphone(sTexte_INOUT est une chaîne)
sOut est une chaîne = ""
sTexte_INOUT = ChaîneFormate(sTexte_INOUT, ccSansEspaceIntérieur + ccSansEspace)
soit nTexte = 1
POUR n = 1 _À_ Taille(gsMasqueTéléphone)
SI nTexte > Taille(sTexte_INOUT) ALORS SORTIR
SI gsMasqueTéléphone[n] = " " ALORS
sOut += " "
SINON
sOut += sTexte_INOUT[nTexte]
nTexte ++
FIN
FIN
sTexte_INOUT = sOut
FIN
- Le bouton de vérification contient le code suivant :
Gestion de la saisie obligatoire et de la saisie invalide par programmation WINDEV et WINDEV Mobile mettent à votre disposition différentes propriétés et fonctions pour gérer la saisie obligatoire et la saisie invalide par programmation : - Propriétés disponibles :
| | | La propriété SaisieInvalide permet de connaître et modifier la caractéristique de saisie invalide d'un champ. | SaisieObligatoire | La propriété SaisieObligatoire permet de connaître et modifier la caractéristique de saisie obligatoire d'un champ. | TexteSaisieInvalide | La propriété TexteSaisieInvalide permet de connaître et de définir le texte qui sera affiché si le champ est invalide (masque ou borne). | TexteSaisieObligatoire | La propriété TexteSaisieObligatoire permet de connaître et de définir le texte qui sera affiché si le champ est vide (avec la propriété SaisieObligatoire activée). |
- Fonctions disponibles :
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|