Répondre à: Contrôle de champs "texte" pour plaque d'immatriculation

  • DavidZed

    Membre
    29 septembre 2023 à 21h15

    Hello Jean ,

    Dans ce cas de figure, on peut utiliser les fonctions :

    • IsMatch() : Pour s’assurer qu’une chaîne respecte un certain format

    • Upper() : pour transformer les minuscules en majuscules

    • Right() et Left() : Pour extraire des caractères d’une chaîne

    • Substitute() : Pour remplacer des caractères dans une chaîne

    Tu peux ajouter un label texte pour indiquer si la saisie est correcte (attention syntaxe en anglais) :

    If(IsMatch(n    With({ // On nomme des constantes pour simplifier le la formule qui suitn        Immat:TextInputSaisie.Text,n        Sep1:Left(TextInputSaisie.Text,3),n        Sep2:Right(TextInputSaisie.Text,3)},nn        Upper( // on transofrme les minuscules en majusculesn            Substitute( n                Substitute( n                    Immat,Sep1,Left(Sep1,2)&"-"),// On remplace les 3 premiers caractères par les 2 premiers suivi de "-" = on remplace le 3eme caractère par un tiretn                    Sep2,"-"&Right(Sep2,2) // On remplace les 3 derniers caractères par un "-", suivi par les 2 derniers = on remplace le 7eme caractère par un tiretn                    ))),n    Match.Letter&Match.Letter&Match.Hyphen&Match.Digit&Match.Digit&Match.Digit&Match.Hyphen&Match.Letter&Match.Letter), // On verifie que le tout correspond au format : 2 lettres, tiret, 3 chiffres, tiret, deux lettresn    "Format OK" ,// Si ouin    "Merci de respecter le format ''AA-000-AA''" ) //Sinon

    ce qui devrait donner :

    Tu peux ensuite utiliser le IsMatch et son contenu pour conditionner l’update du datacard

    CommentID=5M4aIydMuSvUrQX, PostID=erpIzqrXOw59kfW