DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Options et manipulations
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
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 :
  1. Affichez la fenêtre de description du champ.
  2. 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 .
  3. 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 :
  1. 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.
  2. Définissez dans le code du champ le masque de saisie à utiliser, grâce à la propriété MasqueSaisie.
  3. Affichez la fenêtre de description du champ.
  4. 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 .
  5. Validez la fenêtre de description du champ.
Nouveauté SaaS
Remarque : 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
    	//Ne rien faire si on est en train d'effacer
    	// si on est a la fin
    	SI nFinCurseurApres = Taille(sTexteApres) + 1 ALORS
    		// on met un " " si c'est ce qu'il faut à cette position
    		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 :
    SaisieInvalideDétecte()
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 :
    Nouveauté SaaS
    SaisieInvalide
    La propriété SaisieInvalide permet de connaître et modifier la caractéristique de saisie invalide d'un champ.
    SaisieObligatoireLa propriété SaisieObligatoire permet de connaître et modifier la caractéristique de saisie obligatoire d'un champ.
    TexteSaisieInvalideLa propriété TexteSaisieInvalide permet de connaître et de définir le texte qui sera affiché si le champ est invalide (masque ou borne).
    TexteSaisieObligatoireLa 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 :
    SaisieInvalideAfficheErreurAffiche une erreur de saisie invalide pour le champ spécifié.
    SaisieInvalideDétecteDétecte et met en erreur les champs dont la saisie est invalide et /ou obligatoire.
    SaisieInvalideListeChampConstruit la liste des champs dont la saisie est invalide/obligatoire.
Version minimum requise
  • Version 26
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 09/07/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale