Vous consultez actuellement l'aide de la version:

Présentation

La fonctionnalité d’éditeur de règles dans Adobe Experience Manager Forms permet aux utilisateurs et aux développeurs professionnels de formulaires de créer des règles sur des objets de formulaire adaptatif. Ces règles déterminent les actions à déclencher sur des objets de formulaire en fonction des conditions prédéfinies, des saisies de l’utilisateur et des actions de l’utilisateur sur le formulaire. Cela permet de rationaliser davantage l’expérience de remplissage du formulaire en assurant précision et vitesse.

L’éditeur de règles fournit une interface utilisateur intuitive et simplifiée pour la création de règles. Il offre un éditeur visuel et un éditeur de code pour la création de règles. Les principales actions que vous pouvez exécuter sur des objets de formulaire adaptatif utilisant des règles sont :

  • Afficher ou masquer un objet
  • Activer ou désactiver un objet
  • Définir une valeur pour un objet
  • Valider la valeur d’un objet
  • Exécuter les fonctions pour calculer la valeur d’un objet
  • Appeler un service web et effectuer une opération
  • Définir la propriété d’un objet

L’éditeur de règles remplace les fonctionnalités de script dans AEM Forms 6.1 et les versions antérieures. Toutefois, les scripts existants sont conservés dans le nouvel éditeur de règles. Pour plus d’informations sur l’utilisation des scripts existants dans l’éditeur de règles, reportez-vous à la section Impact de l’éditeur de règles sur les scripts existants.

Compréhension d’une règle

Une règle est une combinaison d’actions et de conditions. Dans l’éditeur de règles, les actions incluent des activités telles que masquer, afficher, activer, désactiver ou calculer la valeur d’un objet dans un formulaire. Les conditions sont des expressions booléennes qui sont évaluées en effectuant des vérifications et des opérations sur l’état, la valeur ou la propriété d’un objet de formulaire. Les actions sont exécutées en fonction de la valeur (True ou False) renvoyée par l’évaluation d’une condition.

L’éditeur de règles fournit un ensemble de types de règle prédéfinis, tels que Lorsque, Afficher, Masquer, Activer, Désactiver, Définir la valeur de et Valider pour vous aider à créer des règles. Chaque type de règle vous permet de définir des conditions et des actions dans une règle. Le document décrit plus loin chaque type de règle en détail.

Une règle suit généralement l’un des concepts suivants :

Condition-Action

Dans ce concept, une règle définit d’abord une condition suivie d’une action à déclencher. Le concept est comparable à l’instruction de cause à effet des langages de programmation.

Dans l’éditeur de règles, le type de règle Lorsque applique le concept de condition-action.

Action-Condition

Dans ce concept, une règle définit d’abord une action à déclencher suivie de conditions d’évaluation. Une autre variante de ce concept est une action alternative d’action-condition, qui définit également une action alternative à déclencher si la condition renvoie la valeur False.

Les types de règles Afficher, Masquer, Activer, Désactiver, Définir la valeur de et Valider de l’éditeur de règles appliquent le concept de règle d’action-condition. Par défaut, l’action alternative d’Afficher est Masquer et l’action alternative d’Activer est Désactiver, et inversement. Vous ne pouvez pas modifier l’action alternative par défaut.

Remarque :

Les types de règle disponibles, y compris les conditions et les actions que vous définissez dans l’éditeur de règles, dépendent également du type de l’objet de formulaire pour lequel vous créez une règle. L’éditeur de règles affiche uniquement les types de règle et les options valides lors de la création des instructions de condition et d’action pour un type particulier d’objet de formulaire. Par exemple, les types de règle Valider, Définir la valeur de, Activer et Désactiver ne s’affichent pas pour un objet de panneau.

Pour plus d’informations sur les types de règles disponibles dans l’éditeur de règles, reportez-vous à la section Types de règles disponibles dans l’éditeur de règles.

Directives pour choisir un concept de règle

Bien que vous puissiez obtenir la plupart des cas d’utilisation avec n’importe quel concept de règle, voici quelques recommandations pour choisir un concept plus qu’un autre. Pour plus d’informations sur les règles disponibles dans l’éditeur de règles, reportez-vous à la section Types de règles disponibles dans l’éditeur de règles.

  • Lors de la création d’une règle, un des principes de base consiste à penser à cette règle dans le contexte de l’objet pour lequel vous créez une règle. Imaginons que vous souhaitez masquer ou afficher le champ B selon la valeur qu’un utilisateur indique dans le champ A. Dans ce cas, vous évaluez une condition du champ A, et en fonction de la valeur qu’elle renvoie, vous déclenchez une action sur le champ B.

    Par conséquent, si vous créez une règle pour le champ B (l’objet pour lequel vous évaluez une condition), utilisez le concept de condition-action ou le type de règle Lorsque. De même, utilisez le concept d’action-condition ou le type de règle Afficher ou Masquer pour le champ A.

  • Parfois, vous devez effectuer plusieurs actions en fonction d’une condition. Dans pareils cas, il est recommandé d’utiliser le concept de condition-action. Dans ce concept, vous pouvez évaluer une seule condition et spécifier plusieurs instructions d’action.

    Par exemple, pour masquer les champs B, C et D selon la condition qui vérifie la valeur qu’un utilisateur indique dans le champ A, créez une règle avec le concept de condition-action ou le type de règle Lorsque pour le champ A et spécifiez les actions de contrôle de visibilité des champs B, C et D. Sinon, vous avez besoin de trois règles distinctes pour les champs B, C et D, où chaque règle vérifie la condition et affiche ou masque chaque champ respectif. Dans cet exemple, il est plus efficace de créer un type de règle Lorsque sur un objet plutôt qu’un type de règle Afficher ou Masquer sur trois objets.

  • Pour déclencher une action selon plusieurs conditions, il est recommandé d’utiliser le concept d’action-condition. Par exemple, pour afficher et masquer le champ A en évaluant les conditions des champs B, C et D, utilisez le type de règle Afficher ou Masquer sur le champ A.
  • Utilisez le concept de condition-action ou d’action-condition si la règle contient une action pour une condition.
  • Si une règle vérifie une condition et exécute immédiatement une action lorsqu’une valeur est indiquée dans un champ ou lorsqu’un champ est quitté, il est recommandé de créer une règle avec le concept de condition-action ou le type de règle Lorsque pour le champ pour lequel la condition est évaluée. 
  • La condition dans la règle Lorsque est évaluée lorsqu’un utilisateur modifie la valeur de l’objet pour lequel la règle Lorsque est appliquée. Toutefois, si vous souhaitez déclencher l’action lorsque la valeur change du côté serveur, comme dans le cas d’un pré-remplissage de la valeur, il est recommandé de créer une règle Lorsque qui déclenche l’action lorsque le champ est initialisé.

Types d’opérateur et événements disponibles dans l’éditeur de règles

L’éditeur de règles fournit les opérateurs logiques et les événements suivants à l’aide desquels vous pouvez créer des règles.

  • Est égal à
  • N’est pas égal à
  • Commence par
  • Se termine par
  • Contient
  • Est vide
  • N’est pas vide
  • A sélectionné : renvoie True lorsque l’utilisateur sélectionne une option donnée pour une case à cocher, une liste déroulante, un bouton radio.
  • Est initialisé (événement) : renvoie True si un objet de formulaire est généré dans le navigateur.
  • Est modifié (événement) : renvoie True si l’utilisateur modifie la valeur saisie ou l’option sélectionnée pour un objet de formulaire.

Types de règle disponibles dans l’éditeur de règles

L’éditeur de règles fournit un ensemble de types de règle prédéfinis que vous pouvez utiliser pour créer des règles. Examinons en détail chaque type de règle. Pour plus d’informations sur la création de règles dans l’éditeur de règles, reportez-vous à la section Création de règles.

Lorsque

Le type de règle Lorsque suit le concept de règle d’action alternative de condition-action, ou parfois, simplement le concept de condition-action. Dans ce type de règle, vous spécifiez d’abord une condition à évaluer puis une action à déclencher si la condition est remplie (True). Lors de l’utilisation du type de règle Quand, vous pouvez utiliser plusieurs opérateurs ET et OU afin de créer des expressions imbriquées

Avec le type de règle Lorsque, vous pouvez évaluer une condition sur un objet de formulaire et exécuter des actions sur un ou plusieurs objets. 

En clair, un type de règle Lorsque standard est structuré comme suit :

____________________________________________

Lorsque sur Objet A :

(Condition 1 ET Condition 2 OU Condition 3) est TRUE ;

Ensuite, procédez comme suit :

Action 2 sur Objet B ;
ET
Action 3 sur Objet C ;

 

_____________________________________________

Bien que vous puissiez vérifier les conditions uniquement sur l’objet pour lequel vous créez une règle Lorsque, vous pouvez déclencher les actions suivantes sur plusieurs objets de formulaire.  

  • Masquer : masque l’objet spécifié.
  • Afficher : affiche l’objet spécifié.
  • Activer : active l’objet spécifié.
  • Désactiver : désactive l’objet spécifié.
  • Définir la valeur de : calcule et définit la valeur de l’objet spécifié. Vous pouvez définir cette valeur par une chaîne, la valeur d’un autre objet, la valeur calculée avec une expression ou une fonction mathématique ou la valeur d’une propriété d’un objet.
  • Appeler un service web : appelle un service web. Vous devez spécifier une URL WSDL sur le service web, puis sélectionner une opération à exécuter. Vous pouvez également préconfigurer un service web dans l’éditeur de règles afin qu’il devienne disponible en tant qu’élément de menu dans l’éditeur de règles.
  • Définir la propriété : définit la valeur d’une propriété de l’objet spécifié.
  • Effacer la valeur de : efface la valeur de l’objet spécifié.
  • Définir le focus : définit le focus sur l’objet spécifié.
  • Enregistrer le formulaire : enregistre le formulaire.
  • Envoyer les formulaires : envoie le formulaire.
  • Réinitialiser le formulaire : réinitialise le formulaire.
  • Valider le formulaire : valide le formulaire.
  • Ajouter une instance : ajoute une instance de la ligne de panneau ou de tableau répétable spécifiée.
  • Supprimer une instance : supprime une instance de la ligne de panneau ou de tableau répétable spécifiée.

Définir la valeur

Le type de règle Définir la valeur de vous permet de définir la valeur d’un objet de formulaire selon si la condition spécifiée est remplie ou non. La valeur peut être définie sur la valeur d’un autre objet, d’une chaîne littérale, la valeur dérivée d’une expression ou d’une fonction mathématique ou la valeur d’une propriété d’un autre objet. De même, vous pouvez vérifier la condition d’un composant, d’une chaîne, d’une propriété ou les valeurs provenant d’une fonction ou d’une expression mathématique.

Notez que le type de règle Définir la valeur de n’est pas disponible pour tous les objets de formulaire, tels que les boutons de panneaux et de barres d’outils.

Une règle Définir la valeur de standard présente la structure suivante :

____________________________________________

Définir la valeur de Objet A sur :

(valeur de Objet B) OU
(chaîne ABC) OU
(propriété d’objet X de Objet C) OU
(valeur d’une fonction) OU
(valeur d’une expression mathématique) ;

Lorsque :

(Condition 1 ET Condition 2 ET Condition 3) est TRUE ;

____________________________________________

Valeurs préremplies de listes déroulantes, de boutons radio et de cases à cocher

Si vous créez des règles pour les objets de formulaire suivants, les options/valeurs d’objet de formulaire dans le formulaire sont pré-renseignées dans l’éditeur de règles :

  • Listes déroulantes
  • Boutons radio
  • Cases à cocher

Afficher

Avec le type de règle Afficher, vous pouvez créer une règle pour afficher ou masquer un objet de formulaire selon si une condition est remplie ou non. Le type de règle Afficher déclenche également l’action Masquer au cas où la condition ne serait pas remplie ou renvoyée False.

Une règle standard Afficher est structurée comme suit :

____________________________________________

Afficher Objet A ;

Lorsque :

(Condition 1 OU Condition 2 OU Condition 3) est TRUE ;

Sinon :

Masquer Objet A ;

____________________________________________

Masquer

De la même manière que pour le type de règle Afficher, vous pouvez utiliser le type de règle Masquer pour afficher ou masquer un objet de formulaire selon qu’une condition est remplie ou non. Le type de règle Masquer déclenche également l’action Afficher au cas où la condition ne serait pas remplie ou renvoyée False.

Une règle standard Masquer est structurée comme suit :

____________________________________________

Masquer Objet A ;

Lorsque :

(Condition 1 ET Condition 2 ET Condition 3) est TRUE ;

Sinon :

Afficher Objet A ;

____________________________________________

Activer

Le type de règle Activer vous permet d’activer ou de désactiver un objet de formulaire selon si une condition est remplie ou non. Le type de règle Activer déclenche également l’action Désactiver au cas où la condition ne serait pas remplie ou serait renvoyée False.

Une règle Activer standard est structurée comme suit :

____________________________________________

Activer Objet A ;

Lorsque :

(Condition 1 ET Condition 2 ET Condition 3) est TRUE ;

Sinon :

Désactiver Objet A ;

____________________________________________

Désactiver

De la même manière que le type de règle Activer, le type de règle Désactiver vous permet d’activer ou de désactiver un objet de formulaire selon qu’une condition est remplie ou non. Le type de règle Désactiver déclenche également l’action Activer au cas où la condition ne serait pas remplie ou serait renvoyée False.

Une règle Désactiver standard est structurée comme suit :

____________________________________________

Désactiver Objet A ;

Lorsque :

(Condition 1 OU Condition 2 OU Condition 3) est TRUE ;

Sinon :

Activer Objet A ;

____________________________________________

Valider

Le type de règle Valider valide la valeur d’un champ à l’aide d’une expression. Par exemple, vous pouvez créer une expression pour vérifier que le champ de texte qui indique un nom ne contient pas de caractères spéciaux ni de nombres.

Une règle Valider standard est structurée comme suit :

____________________________________________

Valider Objet A ;

A l’aide de:

(Expression 1 ET Expression 2 ET Expression 3) est TRUE

____________________________________________

Remarque :

Si la valeur spécifiée n’est pas conforme à la règle Valider, vous pouvez afficher un message de validation à l’utilisateur. Vous pouvez spécifier le message dans le champ Message de validation du script dans les propriétés de composant dans la zone latérale.  

script-validation

Compréhension de l’interface utilisateur de l’éditeur de règles

L’éditeur de règles fournit une interface utilisateur exhaustive et néanmoins simple qui permet de créer et de gérer des règles. Vous pouvez lancer l’interface utilisateur de l’éditeur de règles depuis un formulaire adaptatif en mode Création.

Pour lancer l’interface utilisateur de l’éditeur de règles :

  1. Ouvrez un formulaire adaptatif en mode Création.

  2. Appuyez sur l’objet de formulaire pour lequel vous voulez créer une règle, puis sur dans la barre d’outils des composants. L’interface utilisateur de l’éditeur de règles s’affiche.

    create-rules

    Toutes les règles existantes pour les objets de formulaire sélectionnés sont répertoriées dans cet écran. Pour plus d’informations sur la gestion des règles existantes, reportez-vous à la section Gestion des règles.

  3. Appuyez sur Créer pour créer une règle. L’éditeur visuel de l’interface utilisateur de l’éditeur de règles s’ouvre par défaut lorsque vous lancez l’éditeur de règles la première fois.

    Interface utilisateur de l’éditeur de règles
    Cliquez pour afficher une image agrandie

    Examinons en détail chaque composant de l’interface utilisateur de l’éditeur de règles.

A. Affichage composant-règle

Affiche le titre de l’objet d’un formulaire adaptatif depuis lequel vous avez lancé l’éditeur de règles et le type de règle actuellement sélectionné. Dans l’exemple ci-dessus, l’éditeur de règles est lancé depuis l’objet d’un formulaire adaptatif intitulé Salary et le type de règle sélectionné est Lorsque.

B. Objets de formulaire et fonctions

Le volet situé à gauche de l’interface utilisateur de l’éditeur de règles comporte deux onglets — Objets de formulaire et Fonctions.

L’onglet Objets de formulaire affiche une vue hiérarchique de tous les objets contenus dans le formulaire adaptatif. Il affiche le titre et le type des objets. Lors de la création d’une règle, vous pouvez glisser-déposer les objets de formulaire dans l’éditeur de règles.

Les objets de formulaire contenant une ou plusieurs règles valides appliquées sont identifiés par un point vert. Si l’une des règles appliquées à un objet de formulaire n’est pas valide, l’objet de formulaire est identifié par un point jaune.

L’onglet Fonctions inclut un jeu de fonctions intégrées, telles que Somme de, Minimum de, Maximum de, Moyenne de, Nombre de et Valider le formulaire. Vous pouvez utiliser ces fonctions pour calculer des valeurs dans les panneaux et les lignes de tableau répétables et pour les instructions d’action et de condition lors de la création de règles. Cependant, vous pouvez également créer des fonctions personnalisées.

L’onglet Fonctions

Remarque :

Vous pouvez effectuer une recherche de texte dans les noms et titres des objets et des fonctions depuis les onglets Objets de formulaire et Fonctions.

Dans l’arborescence de gauche des objets de formulaire, vous pouvez appuyer sur les objets de formulaire pour afficher les règles appliquées à chacun des objets. Vous pouvez non seulement parcourir les règles des différents objets de formulaire mais également copier-coller des règles entre les objets du formulaire. Pour plus d’informations, reportez-vous à la section Règles de Copier-coller.

C. Basculement entre les objets de formulaire et les fonctions

Le bouton Basculer, lorsqu’il est sélectionné, permet de basculer entre le volet des objets de formulaire et celui des fonctions.

D. Éditeur de règles visuel

Lorsque l’interface utilisateur de l’éditeur de règles est en mode éditeur visuel, l’éditeur de règles visuel est la zone dans laquelle vous créez des règles. Il vous permet de sélectionner un type de règle et de définir en conséquence des conditions et des actions. Lors de la définition des conditions et des actions dans une règle, vous pouvez glisser-déposer des objets de formulaire et des fonctions depuis le volet Objets de formulaire et Fonctions.

Pour plus d’informations sur l’utilisation de l’éditeur de règles visuel, reportez-vous à la section Création de règles.

E. Sélecteur des modes éditeur visuel-éditeur de code

Vous pouvez passer du mode éditeur visuel en mode éditeur de code et inversement, à l’aide d’un sélecteur situé au-dessus de l’éditeur de règles. Lorsque vous lancez l’éditeur de règles pour la première fois, il s’ouvre en mode Éditeur visuel. Vous pouvez créer des règles en mode Éditeur visuel ou passer en mode Éditeur de code pour créer un script de règle. Notez toutefois que si vous modifiez une règle ou si vous créez une règle dans l’éditeur de code, vous ne pouvez pas revenir à l’éditeur visuel pour cette règle sauf si vous avez désélectionné l’éditeur de code.

AEM Forms suit le mode Éditeur de règles que vous avez utilisé en dernier pour créer une règle. Lorsque vous lancez l’éditeur de règles la fois suivante, il s’ouvre dans ce mode. Toutefois, vous pouvez également configurer un mode par défaut pour ouvrir l’éditeur de règles dans le mode spécifié. Procédez comme suit :

  1. Accédez à la console web d’AEM à l’adresse http://[hôte]:[port/system/console/configMgr.
  2. Cliquez pour modifier Service de configuration de formulaire adaptatif.
  3. Sélectionnez Éditeur visuel ou Éditeur de code dans la liste déroulante Mode par défaut de l’éditeur de règle.
  4. Cliquez sur Enregistrer.

F. Boutons Terminé et Annuler

Le bouton Terminé est utilisé pour enregistrer une règle. Vous pouvez enregistrer une règle incomplète. Toutefois, les règles incomplètes ne sont pas valides et ne s’exécutent pas. Les règles enregistrées sur un objet de formulaire sont répertoriées lorsque vous lancez l’éditeur de règles à l’ouverture suivante du même objet de formulaire. Vous pouvez gérer les règles existantes dans cette vue. Pour plus d’informations, consultez la section Gérer les règles.

Le bouton Annuler annule tous les changements apportés à une règle et ferme l’éditeur de règles.

Règles d’écriture

Vous pouvez créer des règles à l’aide de l’éditeur de règles visuel ou l’éditeur de code. Lorsque vous lancez l’éditeur de règles pour la première fois, il s’ouvre en mode d’éditeur visuel. Vous pouvez passer au mode d’éditeur de code et créer des règles. Notez toutefois que si vous créez ou modifiez une règle dans l’éditeur de code, vous ne pouvez pas basculer vers l’éditeur visuel pour cette règle sauf si vous avez désélectionné l’éditeur de code. Lorsque vous lancez l’éditeur de règles la fois suivante, il s’ouvre dans le mode que vous avez utilisé en dernier pour créer une règle.

Tout d’abord, examinons l’écriture de règles utilisant l’éditeur visuel.

À l’aide de l’éditeur visuel

Examinons comment créer une règle dans l’éditeur visuel en utilisant l’exemple de formulaire suivant.

create-rule-example

La section Conditions de prêt dans l’exemple de formulaire de demande de prêt requiert des demandeurs de spécifier leur état civil, leur salaire et, si mariés, le salaire de leur conjoint. D’après les entrées de l’utilisateur, la règle permet de calculer le montant d’éligibilité du prêt et l’affiche dans le champ Éligibilité de prêt. Appliquez les règles suivantes pour mettre en œuvre le scénario :

  • Le champ Salaire du conjoint s’affiche uniquement lorsque la valeur État civil est Marié(e).
  • Le montant d’éligibilité de prêt est 50% du salaire total.
Effectuez les étapes suivantes pour créer les règles :
  1. Tout d’abord, créez la règle pour contrôler la visibilité du champ Salaire du conjoint en fonction de l’option de l’utilisateur pour le bouton radio État civil. 

    Ouvrez le formulaire de demande de prêt en mode Création. Appuyez sur le composant État civil et appuyez sur . Ensuite, appuyez sur Créer pour lancer l’éditeur de règles.

    write-rules-visual-editor-1

    Lorsque vous lancez l’éditeur de règles, la règle Lorsque est sélectionnée par défaut. En outre, l’objet de formulaire (dans ce cas, État civil) d’où vous avez lancé l’éditeur de règles est spécifié dans l’instruction Lorsque.

    Alors que vous ne pouvez pas changer ou modifier l’objet sélectionné, vous pouvez utiliser la liste déroulante de règles, comme indiqué ci-dessous, pour sélectionner un autre type de règle. Si vous souhaitez créer une règle sur un autre objet, appuyez sur Annuler pour quitter l’éditeur de règles et relancez-le depuis l’objet de formulaire de votre choix.

  2. Appuyez sur le menu déroulant Sélectionnez un état et sélectionnez est égal à. Le champ Saisissez une chaîne apparaît.

    write-rules-visual-editor-2

    Dans le bouton radio État civil, les options Marié(e) et Célibataire ont les valeurs 0 et 1, respectivement. Vous pouvez vérifier les valeurs assignées dans l’onglet Titre de la boîte de dialogue Modifier le bouton radio comme illustré ci-dessous.

    Valeurs de bouton radio dans l’éditeur de règles
  3. Dans le champ Entrer une chaîne dans la règle, indiquez 0.

    write-rules-visual-editor-4

    Vous avez défini la condition Lorsque État civil est égal à Marié(e). Ensuite, définissez l’action à effectuer si cette condition est True.

  4. Dans l’instruction Alors, choisissez Afficher dans le menu déroulant Sélectionner l’action.

    write-rules-visual-editor-5
  5. Glissez-déposez le champ Salaire du conjoint de l’onglet Objets de formulaire sur le champ Déposez l’objet ou sélectionnez ici. Vous pouvez également appuyer sur le champ Déposez l’objet ou sélectionnez ici et sélectionner le champ Salaire du conjoint dans le menu contextuel, qui énumère tous les objets de formulaire dans le formulaire.

    write-rules-visual-editor-6

    La règle s’affiche comme suit dans l’éditeur de règles.

    write-rules-visual-editor-7

    Appuyez sur Terminé pour enregistrer la règle.

  6. Répétez les étapes 1 à 5 pour définir une autre règle pour masquer le champ de salaire du conjoint si la valeur d’état civil est Célibataire. La règle s’affiche comme suit dans l’éditeur de règles.

    write-rules-visual-editor-8

    Remarque :

    Vous pouvez également créer une règle Afficher sur le champ Salaire du conjoint, au lieu de deux règles Lorsque sur le champ État civil, pour implémenter le même comportement.

    write-rules-visual-editor-9
  7. Ensuite, créez une règle afin de calculer le niveau d’éligibilité de prêt, qui est de 50 % du salaire total, puis affichez-la dans le champ Éligibilité de prêt. Pour ce faire, créez les règles Définir la valeur de sur le champ Éligibilité de prêt.

    En mode Création, appuyez sur le champ Éligibilité de prêt et appuyez sur . Ensuite, appuyez sur Créer pour lancer l’éditeur de règles.

  8. Sélectionnez la règle Définir la valeur de dans la liste déroulante des règles.

    write-rules-visual-editor-10
  9. Appuyez sur Sélectionner l’option et choisissez Expression mathématique. Un champ permettant de saisir l’expression mathématique s’ouvre.

    write-rules-visual-editor-11
  10. Dans le champ de l’expression :

    • Sélectionnez ou glissez-déposez depuis l’onglet Objets de formulaire le champ Salaire dans le premier champ Déposez l’objet ou sélectionnez ici.
    • Sélectionnez Plus dans le champ Sélectionner un opérateur.
    • Sélectionnez ou glissez-déposez depuis l’onglet Objets de formulaire le champ Salaire du conjoint dans l’autre champ Déposez l’objet ou sélectionnez ici.
    write-rules-visual-editor-12
  11. Ensuite, appuyez dans la zone en surbrillance autour du champ Expression et appuyez sur Étendre l’expression.

    write-rules-visual-editor-13

    Dans le champ d’expression étendu, sélectionnez divisé par depuis le champ Sélectionner un opérateur et Nombre depuis le champ Sélectionner une option. Spécifiez ensuite la valeur 2 dans le champ Nombre.

    write-rules-visual-editor-14

    Remarque :

    Vous pouvez créer des expressions complexes à l’aide de composants, de fonctions, d’expressions mathématiques, et des valeurs de propriété dans le champ Sélectionner une option.

    Créez ensuite une condition qui fait que, lorsque True est renvoyé, l’expression s’exécute.

  12. Appuyez sur Ajouter une condition pour ajouter une instruction Lorsque.

    write-rules-visual-editor-15

    Dans l’instruction Lorsque :

    • Sélectionnez ou glissez-déposez depuis l’onglet Objets de formulaire le champ État civil dans le premier champ Déposez l’objet ou sélectionnez ici.
    • Sélectionnez est égal à depuis le champ Sélectionner un opérateur.
    • Sélectionnez Chaîne dans l’autre champ Déposez l’objet ou sélectionnez ici et spécifiez Marié(e) dans le champ Entrer une chaîne.
    La règle s’affiche finalement comme suit dans l’éditeur de règles.
    write-rules-visual-editor-16

    Appuyez sur Terminé pour enregistrer la règle.

  13. Répétez les étapes 7 à 12 pour définir une autre règle pour calculer le montant d’éligibilité si la valeur d’état civil est Célibataire. La règle s’affiche comme suit dans l’éditeur de règles.

    write-rules-visual-editor-17

Remarque :

Vous pouvez également utiliser l’instruction Définir la valeur de pour calculer l’éligibilité de prêt dans la règle Lorsque que vous avez créée pour afficher ou masquer le champ Salaire du conjoint. La règle combinée résultante lorsque la valeur État civil est Célibataire s’affiche comme suit dans l’éditeur de règles.

De même, vous pouvez entrer une règle combinée pour contrôler la visibilité du champ Salaire du conjoint lorsque la valeur d’état civil est Marié(e).

write-rules-visual-editor-18

À l’aide de l’éditeur de code

L’éditeur de règles génère automatiquement le code javascript pour toute règle que vous créez à l’aide de l’éditeur visuel. Vous pouvez basculer de l’éditeur visuel à l’éditeur de code pour afficher le code généré. Cependant, si vous modifiez le code de règle dans l’éditeur de code, vous ne pouvez pas revenir à l’éditeur visuel. Si vous préférez les règles d’écriture de l’éditeur de code plutôt que celles de l’éditeur visuel, vous avez la possibilité de définir de nouvelles règles dans l’éditeur de code. Le bouton bascule des éditeurs visuel-code vous permet de passer d’un mode à l’autre.

L’éditeur de code Javascript est le langage d’expression des formulaires adaptatifs. Toutes les expressions sont des expressions JavaScript valides qui utilisent des API de modèle de script pour les formulaires adaptatifs. Ces expressions renvoient des valeurs de certains types. Pour obtenir la liste complète des classes de formulaires adaptatifs, des événements, des objets et des API publiques, consultez Référence à l’API de la bibliothèque JavaScript pour les formulaires adaptatifs.

Pour plus d’informations sur la création de règles dans l’éditeur de code, reportez-vous à la section Expressions de formulaire adaptatif.

Fonctions personnalisées dans l’éditeur de règles

Outre les fonctionnalités prêtes à l’emploi telles que Somme de, qui sont répertoriées sous Fonctions, vous pouvez désormais créer des fonctions personnalisées dont vous aurez fréquemment besoin. Assurez-vous que la fonction que vous créez est accompagnée du jsdoc au-dessus. 

Le jsdoc d’accompagnement est requis :

  • Si vous souhaitez personnaliser la configuration et la description.
  • Parce qu’il y a plusieurs façons de déclarer une fonction dans Javascript, et que les commentaires vous laissent garder une trace des fonctions. 

Pour plus d’informations, consultez usejsdoc.org.

Balises jsdoc prises en charge :

  • Syntaxe
    privée : @private
    Une fonction privée n’est pas incluse comme fonction personnalisée.
  • Syntaxe
    de nom : @name funcName <Nom fonction>
    Vous pouvez aussi utiliser : @function funcName <Nom fonction> ou @func funcName <Nom fonction>.
    funcname est le nom de la fonction (aucun espace autorisé). 
    <Nom fonction> est le nom d’affichage de la fonction.
  • Syntaxe
    de membre : @memberof namespace
    Joint un espace de nom à la fonction. 
  • Syntaxe
    de paramètre : @param {type} name <Description paramètre>
    Vous pouvez aussi utiliser : le nom @argument {type} <Description paramètre> ou le nom @arg {type}  <Description paramètre>.
    Affiche les paramètres utilisés par la fonction. Une fonction peut comporter plusieurs balises de paramètre, une balise pour chaque paramètre dans l’ordre d’occurrence.
    {type} représente le type de paramètre. Les types de paramètre sont les suivants :
    1. chaîne
    2. nombre
    3. booléen

    Tous les autres types de paramètre sont classés en dessous de l’un des précédents. Aucun n’est pas pris en charge. Assurez-vous que vous sélectionnez l’un des types ci-dessus. Les types ne sont pas sensibles à la casse. Les espaces ne sont pas autorisés dans le nom d’un paramètre. <Description paramètre>  peut contenir plusieurs mots.

  • Syntaxe
    de type de retour : @return {type}
    Vous pouvez aussi utiliser @returns {type}.
    Ajoute des informations sur la fonction, telles que son objectif.
    {type} représente le type de retour de la fonction. Les types de retour autorisés sont les suivants :
    1. chaîne
    2. nombre
    3. booléen

    Tous les autres types de retour sont classés en dessous de l’un des précédents. Aucun n’est pas pris en charge. Assurez-vous que vous sélectionnez l’un des types ci-dessus. Les types de retour ne sont pas sensibles à la casse.

Remarque :

Les commentaires avant une fonction personnalisée sont utilisés pour le résumé. Le résumé peut s’étendre sur plusieurs lignes jusqu’à ce qu’une balise soit trouvée. Limitez la taille à une seule pour une description concise dans le créateur de règles.

Ajout d’une fonction personnalisée

Par exemple, vous voulez ajouter une fonction personnalisée qui calcule la surface d’un carré. La longueur du côté est la valeur entrée par l’utilisateur à la fonction personnalisée, qui est acceptée à l’aide d’une zone numérique dans le formulaire. La sortie calculée s’affiche dans une autre zone numérique dans le formulaire. Pour ajouter une fonction personnalisée, vous devez d’abord créer une bibliothèque cliente, puis l’ajouter au référentiel CRX.

Exécutez les étapes suivantes pour créer une bibliothèque cliente et l’ajouter dans le référentiel CRX. 

  1. Créez une bibliothèque cliente. Pour plus d’informations, consultez la section Utilisation des bibliothèques côté client

  2. Dans CRXDE, ajoutez une propriété catégories avec une valeur de type chaîne telle que customfunction au dossier clientlib

    Remarque :

    La chaîne customfunction est un exemple de catégorie. Vous pouvez choisir n’importe quel nom pour la catégorie que vous créez dans le dossier clientlib

Une fois que vous avez ajouté votre bibliothèque client dans le référentiel CRX, utilisez-la dans votre formulaire adaptatif. Cela vous permet d’utiliser votre fonction personnalisée comme règle dans votre formulaire. Procédez comme suit pour ajouter la bibliothèque cliente dans votre formulaire adaptatif. 

  1. Ouvrez votre formulaire en mode d’édition. 
    Pour ouvrir un formulaire en mode d’édition, sélectionnez un formulaire, puis appuyez sur  Ouvrir.

  2. En mode d’édition, sélectionnez un composant, puis appuyez sur  > Conteneur de formulaires adaptatifs, puis appuyez sur .

  3. Dans la zone latérale, sous Nom de bibliothèque cliente, ajoutez votre bibliothèque cliente. (customfunction dans l’exemple).

    Ajout de la bibliothèque cliente de fonction personnalisée
  4. Choisissez la zone numérique d’entrée, et appuyez sur pour ouvrir l’éditeur de règles. 

  5. Appuyez sur Créer une règle. À l’aide des options indiquées ci-dessous, créez une règle pour enregistrer la valeur carrée de l’entrée dans le champ Sortie de votre formulaire. 

    Appuyez sur Terminé. Votre fonction personnalisée est ajoutée. 

Types pris en charge de déclaration de fonction

Instruction de fonction

function area(len) {
    return len*len;
}

Cette fonction est incluse sans commentaires jsdoc

Expression de fonction

var area;
//Some codes later
/** */
area = function(len) {
    return len*len;
};

Expression et instruction de fonction

var b={};
/** */
b.area = function(len) {
    return len*len;
}

Déclaration de fonction en tant que variable

/** */
var x1,
    area = function(len) {
        return len*len;
    },
    x2 =5, x3 =true;

Limite : la fonction personnalisée prend uniquement la première déclaration de fonction de la liste des variables, si elles sont ensemble. Vous pouvez utiliser l’expression de fonction pour chaque fonction déclarée.

Déclaration de fonction en tant qu’objet

var c = {
    b : {
        /** */
        area : function(len) {
            return len*len;
        }
    }
};

Remarque :

Assurez-vous que vous utilisez jsdoc pour chaque fonction personnalisée.Bien que les commentaires jsdoc soient recommandés, incluez un commentaire jsdoc vide pour marquer votre fonction en tant que fonction personnalisée. Cela permet la manipulation par défaut de votre fonction personnalisée. 

Gestion des règles

Toutes les règles existantes sur un objet de formulaire sont répertoriées lorsque vous appuyez sur l’objet et appuyez sur . Vous pouvez afficher le titre et un aperçu du résumé de la règle. En outre, l’interface utilisateur vous permet de développer et d’afficher le résumé complet de la règle, de changer l’ordre des règles, de modifier les règles et de supprimer des règles.

list-rules

Vous pouvez effectuer les actions suivantes sur les règles :

  • La colonne Contenu dans la liste des règles affiche le contenu des règles. Si le contenu entier des règles n’est pas visible dans la vue par défaut, appuyez sur  pour le développer.
  • Toute nouvelle règle que vous créez est empilée au bas de la liste des règles. Les règles sont exécutées de haut en bas. La règle en haut s’exécute en premier suivie des autres règles du même type. Par exemple, si vous avez les règles Lorsque, Afficher, Activer et Lorsque en première, deuxième, troisième et quatrième position depuis le haut respectivement, la règle Lorsque du haut est exécutée en premier suivie de la règle Lorsque à la quatrième position. Ensuite, les règles Afficher et Activer seront exécutées.
    Vous pouvez changer l’ordre d’une règle en appuyant sur  en regard ou la glisser-déposer dans l’ordre souhaité dans la liste.
  • Pour modifier une règle, cochez la case située en regard du titre de la règle. D’autres options de modification et de suppression de la règle s’affichent. Appuyez sur Modifier pour ouvrir la règle sélectionnée dans l’éditeur de règles ou dans l’éditeur de code, selon le mode utilisé pour créer la règle.    
  • Pour supprimer une règle, sélectionnez-la et appuyez sur Supprimer.

Règles de copier-coller

Vous pouvez copier-coller une règle d’un champ à d’autres champs similaires pour gagner du temps.

Pour copier-coller des règles, procédez comme suit :

  1. Appuyez sur l’objet de formulaire dont vous souhaitez copier une règle puis, dans la barre d’outils des composants, appuyez sur. L’interface utilisateur de l’éditeur de règles s’affiche avec l’objet de formulaire sélectionné et les règles existantes s’affichent.

    CopyRule

    Pour plus d’informations sur la gestion des règles existantes, consultez la section Gestion des règles.

  2. Cochez la case en regard du titre de la règle. D’autres options de gestion des règles s’affichent. Appuyez sur Copier.

    CopyRule2
  3. Sélectionnez un autre objet de formulaire auquel vous souhaitez coller la règle et appuyez sur Coller. De plus, vous pouvez modifier la règle pour y apporter des modifications.

    Remarque :

    Vous pouvez coller une règle à un autre objet de formulaire uniquement si cet objet de formulaire prend en charge les événements de règle copiée. Par exemple, un bouton prend en charge l’événement Cliquer. Vous pouvez coller une règle avec un événement Cliquer sur un bouton mais pas dans une case à cocher.

  4. Appuyez sur Terminé pour enregistrer la règle.

Expressions imbriquées

L’éditeur de règles vous permet d’utiliser plusieurs opérateurs ET et OU afin de créer des règles imbriquées. Vous pouvez fusionner plusieurs opérateurs ET et OU dans les règles. 

Voici un exemple de règle imbriquée qui affiche un message à l’utilisateur au sujet de l’éligibilité pour un droit de garde lorsque les conditions nécessaires sont remplies.

ComplexExpression

Vous pouvez également faire glisser et déposer des conditions dans une règle pour la modifier. Appuyez et placez le curseur au-dessus de la poignée () avant une condition. Une fois le curseur affiché sous forme de main comme illustré ci-dessous, faites glisser la condition et déposez-la n’importe où dans la règle. La structure de la règle change.

drag-and-drop

Conditions d’expression de date

L’éditeur de règles vous permet d’utiliser des comparaisons de dates afin de créer des conditions. 

Voici un exemple de condition qui contient un objet de texte statique si le prêt hypothécaire sur la maison est déjà utilisé, ce que l’utilisateur indique en remplissant le champ de date. 

Lorsque la date du prêt hypothécaire de la propriété indiquée par l’utilisateur est déjà dépassée, le formulaire adaptatif affiche une remarque concernant le calcul des revenus. La règle suivante compare la date indiquée par l’utilisateur avec la date actuelle et si la date indiquée par l’utilisateur est antérieure à la date actuelle, le formulaire affiche le message texte (appelé Revenu).

DateExpressionCondition

Lorsque la date remplie est antérieure à la date actuelle, le formulaire affiche le message texte (Revenu) comme suit :

DateExpressionConditionMet

Conditions de comparaison des nombres

L’éditeur de règles vous permet de créer des conditions qui comparent deux nombres. 

Voici un exemple de condition qui contient un objet de texte statique si le demandeur habite à son adresse actuelle depuis un nombre de mois inférieur à 36. 

NumberComparisonCondition

Lorsque l’utilisateur indique qu’il habite à son adresse résidentielle actuelle depuis moins de 36 mois, le formulaire affiche une notification indiquant qu’un justificatif de domicile supplémentaire peut être demandé.  

AdditionalProofRequested

Impact de l’éditeur de règles sur les scripts existants

Dans les versions AEM Forms antérieures à la version AEM Forms 6.1 Pack 1, les auteurs et les développeurs de formulaires créaient des expressions dans l’onglet Script de la boîte de dialogue Modifier le composant pour ajouter un comportement dynamique aux formulaires adaptatifs. L’onglet Scripts est désormais remplacé par l’éditeur de règles.

Tous les scripts ou expressions que vous deviez saisir dans l’onglet Scripts sont disponibles dans l’éditeur de règles. Alors que vous ne pouvez pas les afficher ou les modifier dans l’éditeur visuel, vous pouvez les modifier dans l’éditeur de code.  

Quelques exemples de règles

Déclenchement de plusieurs actions, à l’aide de la règle Lorsque

Dans un formulaire de demande de prêt, vous voulez savoir si le demandeur de prêt est un client existant ou non. En fonction des informations fournies par l’utilisateur, le champ ID du client doit s’afficher ou se masquer. En outre, vous souhaitez placer le focus sur le champ d’ID de client si l’utilisateur est un client existant. Le formulaire de demande de prêt est composé des éléments suivants :

  • Un bouton radio, Êtes-vous déjà client(e) chez Geometrix ?, qui propose les options Oui et Non. La valeur de Oui est 0 et de Non est 1.
  • Un champ de texte, ID de client Geometrixx, pour indiquer l’ID du client.
Lorsque vous entrez une règle Lorsque sur le bouton radio pour implémenter ce comportement, la règle s’affiche comme suit dans l’éditeur de règles visuel.
when-rule-example
Règle dans l’éditeur visuel

Dans l’exemple de règle, l’instruction suivante dans la section Lorsque est la condition qui, si elle renvoie True, exécute les actions spécifiées dans la section Alors.

La règle s’affiche comme suit dans l’éditeur de code.

when-rule-example-code
Règle dans l’éditeur de code

Utilisation d’une sortie de fonction au sein d’une règle

Dans un formulaire de bon de commande, vous avez le tableau suivant, dans lequel les utilisateurs rempliront leurs commandes. Dans le tableau ci-dessous :

  • La première ligne est répétable, de sorte que les utilisateurs peuvent commander plusieurs produits et spécifier différentes quantités. Son nom d’élément est Rangée1.
  • Le titre de la cellule dans la colonne Quantité de produit de la ligne répétable est Quantité. Le nom de l’élément pour cette cellule est productquantity.
  • La deuxième ligne du tableau est non répétable et le titre de la cellule dans la colonne Quantité de produit dans cette ligne est Quantité totale.
example-function-table
A. Ligne1 B. Quantité C. Quantité totale 

Maintenant, vous souhaitez ajouter des quantités spécifiées dans la colonne Quantité de produit pour tous les produits et afficher la somme dans la cellule Quantité totale. Vous pouvez obtenir ce résultat en saisissant une règle Définir la valeur de sur la cellule Quantité totale, comme illustré ci-dessous.

example-function-output
Règle dans l’éditeur visuel

La règle s’affiche comme suit dans l’éditeur de code.

example-function-output-code
Règle dans l’éditeur de code

Validation d’une valeur de champ à l’aide d’une expression

Dans le formulaire de bon de commande décrit dans l’exemple précédent, vous souhaitez empêcher l’utilisateur de commander plus d’une quantité de n’importe quel produit dont le prix est supérieur à 10 000. Pour ce faire, vous pouvez rédiger pour une règle Valider comme illustré ci-dessous. 

example-validate
Règle dans l’éditeur visuel

La règle s’affiche comme suit dans l’éditeur de code.

example-validate-code
Règle dans l’éditeur de code

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne