Contrôle de la validité des informations entrées dans une zone par un utilisateur

Vous pouvez utiliser un point d'ancrage de contrôle de validité pour vérifier que les informations qu'un utilisateur a entrées dans une zone sont correctes. Si les informations sont incorrectes, l'utilisateur est invité à fournir des informations valides.
Lorsque vous définissez un nouveau point d'ancrage de zone ou d'action en langage BASIC ou Perl, la syntaxe d'appel de ce point d'ancrage est ajoutée à la fenêtre de l'éditeur de script. La syntaxe d'appel ne peut pas être éditée.

Les points d'ancrage pouvant influencer le comportement d'une zone, vous devez les concevoir et les tester avec soin avant de les mettre à la disposition des utilisateurs. Cet exemple de point d'ancrage d'entrée utilisateur rend la zone user_number obligatoire, quels que soient les paramètres définis dans la grille des comportements.

  1. Dans l'espace de travail, développez Types d'enregistrement et le type d'enregistrement, puis cliquez deux fois sur Zones.
  2. Dans la grille Zones, cliquez sur la cellule Validation de la zone à modifier, puis cliquez sur la flèche vers le bas pour afficher la liste des points d'ancrage disponibles. Cliquez sur SCRIPTS > BASIC ou SCRIPTS > PERL. Si le mode Instant Editing est activé, Designer démarre l'éditeur de script. Sinon, lancez l'éditeur en cliquant deux fois sur la cellule Validation.

    Les langages BASIC et Perl possèdent leurs propres éditeurs de script. Designer indique le type d'éditeur dans la barre de titre de la fenêtre Designer. Vérifiez que vous avez ouvert l'éditeur approprié avant de modifier le code.

  3. Entrez le code permettant de contrôler la validité des données après les lignes suivantes (en langage Perl, les lignes commencent par le caractère #) :
    REM Return a non-empty string explaining why the
    REM field's current value is not permitted.
    REM Or, if it is valid, return an empty string value.
    REM Example: 
    REM Dim value_info
    REM Set value_info = GetFieldValue(fieldname)
    REM If Len(value_info.GetValue()) < 10 Then
    REM resolution_date_Validation = "Doit contenir au moins 10 car."
    REM End If
    Par exemple, si la zone a pour nom "user_number" et pour type INT, le code vérifie que les utilisateurs entrent une valeur comprise entre 1 et 100 :
    REM Return a non-empty string explaining why the field's current 
    REM value is not permitted
    REM Or, if it is valid, return an empty string value.
    
    value = GetFieldValue(fieldname).Get Value()
    if Not IsNumeric(value)
      user_number_Validation="La zone ne contient aucun numéro"
    Else If (value < 1) or (value > 100) then
      user_number_Validation="Le numéro utilisateur doit être compris entre 1 et 100"
    end if
  4. Cliquez sur Hooks > Compile. Le script est compilé et les erreurs de syntaxe sont identifiées.
  5. Corrigez les erreurs éventuelles et cliquez sur Hooks > Compile ou fermez l'éditeur de script.

Commentaires en retour