Rendre Obligatoire la saisie de champs

Étiquetté : ,

  • Rendre Obligatoire la saisie de champs

    Posté par Lilian sur 20 juin 2023 à 5h55

    Bonjour dans mon formulaire je veux rendre obligatoire la saisie de champs. Pour cela j’ai passé le Required des champs concernés à “True”. Par contre je me rend compte qu’a la 1er connexion je n’ai pas l’info comme quoi ils sont obligatoire..Je voudrais dès la 1er création de fiche avoir l’information d’obligation sur les champs concernés, chose que j’obtiens quand je fais une création de fiche qui n’aboutit pas et que je fais une 2ème tentative…Avez vous une idée ? De même je voudrais rendre la validation impossible si 1 des champs n’est pas renseigné avec 1 message d’avertissement..Je suis preneur de bonnes idées, par avance merci 🙂

    PostID=4U8DjVRqi8V3Znw

    Lilian a répondu Il y a 11 mois, 3 semaines 1 Membre · 5 Réponses
  • 5 Réponses
  • Geoffroy

    Membre
    20 juin 2023 à 6h15

    Bonjour Lilian

    L’étoile à côté du titre indique le caractère obligatoire. Tu peux ajouter une étiquette dans la DataCard avec la propriété Visible égale à Parent.Required si tu veux que ce soit plus explicite.

    Pour la validation, un test du genre IsBlank(DataCardValue1.Text)||IsBlank(DataCardValue2.Text)||…||IsBlank(DataCardValueX.Text) dans la propriété DisplayMode du bouton de validation devrait faire l’affaire.

    CommentID=bQ5mwfkMkc3wxa6, PostID=4U8DjVRqi8V3Znw

    • Lilian

      Membre
      20 juin 2023 à 7h27

      Merci Geoffroy

      SubCommentID=nOFr56YMlPAr3da, CommentID=bQ5mwfkMkc3wxa6, PostID=4U8DjVRqi8V3Znw

  • DavidZed

    Membre
    20 juin 2023 à 6h27

    Hello Lilian ,

    C’est le fonctionnement de base des formulaires, le texte en rouge n’apparaît qu’en cas d’erreur à la soumission du formulaire.

    Le caractère obligatoire d’un champ est matérialisé par l’astérisque, c’est un labelText dont la propriété .Visible comporte la formule: And(Parent.Required, Parent.DisplayMode=DisplayMode.Edit), tu peux utiliser cette condition pour afficher un indicateur dans les datacards non remplis, en ajoutant dans son And(), une autre condition qui va détecter si un champ est vide (cela variera en fonction du contrôle concerné)

    Et enfin la bordure des champs ne change de couleur qu’en cas d’erreur : If(IsBlank(Parent.Error), Parent.BorderColor, Color.Red)

    Je te déconseille de remplacer le Parent.Error , que ce soit dans le ErrorMessage ou la bordure du DatacardValue, car cette valeur, générée par le Datacard génére de précieuses informations en cas d’erreur de saisie, qui ne sont pas limités à l’absence de donnée dans un champ obligatoire : Nombre de caractères maxi dépassés, format invalide etc…

    CommentID=887WRiQSgL0kkPF, PostID=4U8DjVRqi8V3Znw

  • DavidZed

    Membre
    20 juin 2023 à 6h34

    Il y a un moyen simple pour empêcher de cliquer sur un bouton si un formulaire n’est pas valide, sur la propriété .DisplayMode du bouton : If(Form1.Valid, DisplayMode.Edit,DisplayMode.Disabled)

    Par contre cela a un désavantage par rapport au fonctionnement normal, c’est que cela ne génère pas d’erreur et les champs en défaut ne sont pas clairement signalés à l’utilisateur.

    CommentID=q9LxIZWsi8bFiSR, PostID=4U8DjVRqi8V3Znw

    • Lilian

      Membre
      20 juin 2023 à 11h05

      En tout cas ça marche bien, le bouton Validé devient actif si et seulement les 5 champs obligatoire sont renseignés ça me va bien ça..Merci

      SubCommentID=LNEuWzLl8XIg6fW, CommentID=q9LxIZWsi8bFiSR, PostID=4U8DjVRqi8V3Znw

Connectez-vous pour répondre.