Custom Form validation

  • Custom Form validation

    Posté par MarKAR sur 16 février 2023 at 23h52

    Hello Power People

    J’ai un Form branché sur une liste SharePoint et pour un champ de date je voudrais que la date saisie ne soit pas antérieure à la date du jour

    C’est facile à tester avant le SubmitForm en comparant la date du datepicker à Now().

    Mais mon idée est d’étendre la validation par défaut qui par exemple bloque le sumbit si un champ obligatoire n’a pas été saisi. je voudrais donc le même comportement sans que j’ai à jouer avec les bordures du control et les textes de l’error label dans la DataCard .

    Cela est il faisable ?ou sinon où puis-je écrire la règle :

    if ( SelectedDate < Now() ) => (unvalidate / error / FormNotValid)

    comment je peux dire au form qu’il n’est pas valide ??

    en vous remerciant d’avance ❤️

    PostID=s9fsO5Ut1CgxnOC

    MarKAR a répondu 11 months, 3 weeks ago 1 Membre · 4 Réponses
  • 4 Réponses
  • R3dKap

    Member
    17 février 2023 at 8h33

    MarKAR est-ce que tu as personnalisé le formulaire de ta liste SharePoint ou tu as créé une application dans laquelle tu as ajouté un formulaire connecté à ta liste ?

    CommentID=M2MZCxSVwCNFWKA, PostID=s9fsO5Ut1CgxnOC

  • MarKAR

    Member
    17 février 2023 at 8h37

    Bonjour Emmanuel R3dKap

    j’ai crée la liste dans SharePoint puis j’ai créé le formulaire dans la canvas

    je ne fais de control spécial sur les fields dans SharePoint

    merci

    CommentID=Jz1QWmnGNhtzfXM, PostID=s9fsO5Ut1CgxnOC

  • DavidZed

    Member
    17 février 2023 at 9h01

    Bonjour,

    Si tu peux créer une règle dans ta liste sharepoint (Remplacer DateWithRule par le nom logique de ta colonne date :

    De mémoire, l’erreur générée n’est pas forcément bien interprétée par le formulaire power apps, et cela risque d’être une contrainte si tu dois modifier l’enregistrement plus tard

    Du coup pour que ce soit un peu plus user friendly, ou si tu ne peux pas / souhaites pas créer une règle sur ta liste SP :

    Pour la couleur de bordure : dans le DatePicker et les DropDowns HourValue et MinuteValue, tu vas trouver la formule dans le paramètre BorderColor, tu vas trouver la formule :

    If(IsBlank(Parent.Error), Parent.BorderColor, Color.Red)

    que tu peux changer en :

    If(IsBlank(Parent.Error) && Parent.Update>Now(), Parent.BorderColor, Color.Red)

    Pour le message d’erreur,

    Remplacer

    Parent.Error

    par

    Parent.Error&If(Parent.Update<Now(),"La date doit être antérieure à aujourd'hui")

    et enfin sur le displaymode du bouton de validation du formulaire :

    If(IsEmpty(ErrorMessageXX.Text),DisplayMode.Edit,DisplayMode.Disabled)

    CommentID=Y598nSUnZhk4qun, PostID=s9fsO5Ut1CgxnOC

  • MarKAR

    Member
    22 février 2023 at 22h35

    Hello DavidZed

    Merci pour ta réponse, oui tout à fait c’est la seule façon (actuellement) pour customiser la validation d’un formulaire

    je pense qu’une évolution de ce coté faciliterait beaucoup la gestion des erreurs custom

    merci encore

    CommentID=WQ0QijXreumvN1j, PostID=s9fsO5Ut1CgxnOC

Connectez-vous pour répondre.