
-
Des champs avec une structure de données personnalisée.
- Exemple : objets, tableau de chaînes de caractères
-
Des champs qui utilisent des widgets tiers.
- Exemple : autocomplétion d’adresse Google
- Des champs avec une logique permettant de masquer ou d’afficher d’autres champs.
- Des champs qui nécessitent des API externes pour obtenir une valeur.
Paramètres du champ personnalisé
Les paramètres du champ personnalisé sont les suivants :Params
Ajoutez des paires clé-valeur à utiliser dans le code source du champ personnalisé. Les paires clé-valeur peuvent inclure des variables de champs du formulaire.
Les valeurs des paramètres ne sont accessibles qu’après l’appel de la méthode
init() par le formulaire.symbol={{fields.symbol}} et separator=,
Code source
Ajoutez votre code Javascript dans le champ personnalisé.
JSON Schema
Par défaut, le champ personnalisé accepte n’importe quel format de valeur. Toutefois, vous pouvez utiliser JSON Schema pour valider les valeurs côté serveur.
CSS
Ajoutez vos styles CSS dans le champ personnalisé.
Gestionnaires de champ personnalisé
Vous pouvez utiliser ces gestionnaires pour personnaliser le comportement du champ :init()
Appelée une seule fois lors de la création du champ et reçoit les valeurs deparams que vous configurez dans les paramètres de Params.
Retourne un élément HTML, une chaîne de caractères ou aucune valeur.
Exemple:
update()
Appelée lorsque l’utilisateur revient à la même étape du formulaire. Cette option est utile lorsque vous devez relancer la logique de rendu de l’UI ou actualiser les valeurs des params qui ont pu changer.onFocus()
Invoquée lorsque le focus arrive sur l’élément HTML du champ personnalisé.onBlur()
Appelée lorsque le focus quitte l’élément HTML du champ personnalisé.getValue()
Invoquée lorsque le formulaire doit récupérer la valeur du champ personnalisé une ou plusieurs fois. Cette fonction est généralement appelée lorsque l’utilisateur soumet l’étape du formulaire. Si vous devez effectuer des validations côté client, vous pouvez lever une erreur pour afficher un message d’erreur personnalisé à l’utilisateur. Exemple :block()
Appelée lorsque le champ personnalisé doit être bloqué. Elle est généralement exécutée lorsque l’utilisateur soumet l’étape du formulaire et que les données sont en cours de traitement sur notre backend.unblock()
Appelée lorsque le champ personnalisé doit être débloqué. Cette opération est généralement exécutée après que l’utilisateur a soumis l’étape du formulaire ou que le traitement des données par notre back-end a cessé en raison d’une erreur de validation.getScripts()
Retourne une liste d’URL dont le formulaire garantit le chargement complet avant l’appel de la méthodeinit().
Exemple :
Objet de contexte
Lorsque vous transmettez un objet de contexte, vous pouvez utiliser ces méthodes pour gérer la logique de votre formulaire et de vos composants.Méthodes personnalisées
context.custom.getValue()
Retourne la valeur du champ personnalisé actuel.context.custom.setValue()
Attribue une valeur au champ personnalisé actuel. Exemple:context.custom.createUid()
Renvoie l’identifiant unique du champ personnalisé actuel. Exemple:context.custom.getParams()
Récupère les paramètres du champ personnalisé actuel.Les valeurs des paramètres sont disponibles uniquement après que le formulaire a appelé la méthode
init().Méthodes du formulaire
Lorsque vous devez interagir avec le formulaire pour obtenir les valeurs d’autres champs ou passer à d’autres étapes du formulaire, vous pouvez utiliser les méthodes de formulaire suivantes :context.form.getId()
Renvoie l’identifiant unique du formulaire actuel.context.form.getRoot()
Retourne l’élément HTML racine du formulaire actuel.context.form.goForward()
Passe à l’étape suivante du formulaire.context.form.goPrevious()
Revient à l’étape précédente du formulaire.context.form.isValid()
Retourne un booléen indiquant si le formulaire passe toutes les validations côté client.context.form.validate()
Valide les valeurs de champ existantes au moyen de la validation côté client avant de poursuivre. Si un champ ne satisfait pas à la validation, un message d’erreur s’affiche.context.form.getAllHiddenFields()
Renvoie un objet contenant toutes les valeurs des champs masqués.context.form.setHiddenField(id, value)
Définit la valeur d’un champ masqué.context.form.getValues()
Retourne un objet contenant toutes les valeurs des champs, y compris les champs masqués.context.form.getField(id)
Retourne une instance du champ spécifié.getNode() | trueRetourne l’élément HTML racine du champ.getValue()Retourne la valeur du champ.setRequired(boolean)Définit ou supprime le caractère obligatoire du champ.
Exemple :
setRequired() sert uniquement à définir ou à retirer le caractère obligatoire du champ côté client. Par exemple, si vous retirez le caractère obligatoire d’un champ, mais qu’il est marqué comme obligatoire dans les paramètres du champ, le formulaire renverra une erreur si ce champ n’a aucune valeur.Exemples de champs personnalisés
Les sections suivantes présentent des exemples de champs personnalisés que vous pouvez ajouter à vos formulaires :Champ personnalisé de type plage
Un champ personnalisé qui retourne une valeur dans une plage prédéfinie.
Champ personnalisé de saisie de couleur
Un champ personnalisé qui renvoie une valeur hexadécimale correspondant à une couleur.
Champ personnalisé de saisie semi-automatique utilisant les valeurs d’une API
Un champ personnalisé qui renvoie une valeur de saisie semi-automatique à l’aide d’une API tierce.
Champ personnalisé de liste déroulante dynamique avec des valeurs provenant d’une API
Un champ personnalisé qui renvoie une valeur à partir d’une liste déroulante dynamique alimentée par une API tierce partie.
Champ personnalisé à saisie dynamique avec un bouton (+) pour ajouter d’autres champs
Un champ personnalisé qui permet aux utilisateurs d’ajouter d’autres champs.