
-
Des champs avec une structure de données personnalisée.
- Exemple : Objets, tableau de chaînes
-
Des champs qui utilisent des gadget logiciel tiers.
- Exemple : Remplissage automatique Google Address
- Champs dont la logique permet de masquer ou d’afficher d’autres champs.
- Champs qui nécessitent des API externes pour obtenir une valeur.
Paramètres des champs personnalisés
Les configurations de champ personnalisées sont :Params
Ajoutez des paires clé-valeur à référencer dans le code source du champ personnalisé. Les paires clé-valeur peuvent inclure des variables de champ de formulaire.
Les valeurs des paramètres ne sont disponibles qu’après que le formulaire a invoqué la méthode
init().symbol=\{\{fields.symbol}} et separator=,
Code source
Ajoutez votre code Javascript au champ personnalisé.
Schéma JSON
Par défaut, le champ personnalisé accepte n’importe quel format de valeur. Cependant, vous pouvez utiliser JSON Schema pour valider les valeurs côté serveur.
CSS
Ajoutez vos styles CSS au champ personnalisé.
Gestionnaires de champs personnalisés
Vous pouvez utiliser ces gestionnaires pour ajouter des comportements personnalisés aux champs :init(params?)
Invoqué une fois lorsque le champ est créé et transmet les valeurs des paramètres que vous configurez dans les réglages Params. Renvoie un élément HTML, une chaîne ou aucune valeur.
Exemple :
update(params?)
Invoqué lorsque l’utilisateur visite à nouveau la même étape du formulaire. Cette option est utile lorsque vous devez restituer la logique de l’interface utilisateur ou actualiser les valeurs des paramètres qui peuvent avoir changé.onFocus()
Invoquée lorsque le focus entre dans l’élément HTML du champ personnalisé.onBlur()
Invoquée lorsque le focus abandonne l’élément HTML du champ personnalisé.getValue()
Invoquée lorsque le formulaire doit obtenir la valeur du champ personnalisé une ou plusieurs fois. Cette fonction est généralement exécutée lorsque l’utilisateur soumet le formulaire. Si vous devez effectuer des validations côté client, vous pouvez lancer une erreur pour afficher un message d’erreur personnalisé à l’utilisateur. Exemple :block()
Invoquée lorsque le champ personnalisé doit être bloqué. Cette fonction est généralement exécutée lorsque l’utilisateur soumet l’étape du formulaire et que les données sont traitées par notre système dorsal.unblock()
Invoquée lorsque le champ personnalisé doit être débloqué. Cette fonction est généralement exécutée après que l’utilisateur a soumis le formulaire ou que les données ont cessé d’être traitées par notre système en raison d’une erreur de validation.getScripts()
Renvoie une liste d’URL que les garanties de formulaire auront fini de charger avant que la méthodeinit() ne soit invoquée.
Exemple :
Objet de contexte
Lorsque vous passez 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()
Reçoit la valeur du champ personnalisé actuel.context.custom.setValue()
Définit une valeur pour le champ personnalisé actuel. Exemple :context.custom.createUid()
Renvoie un identifiant unique pour le champ personnalisé actuel. Exemple :context.custom.getParams()
Reçoit les paramètres du champ personnalisé actuel.Les valeurs des paramètres ne sont disponibles qu’après que le formulaire a invoqué la méthode
init().Méthodes de formulaire
Lorsque vous devez interagir avec le formulaire pour recueillir des valeurs dans d’autres champs ou naviguer vers d’autres étapes du formulaire, vous pouvez utiliser les méthodes de formulaire suivantes :context.form.getId()
Renvoie un identifiant unique pour le formulaire actuel.context.form.getRoot()
Renvoie l’élément HTML racine du formulaire actuel.context.form.goForward()
Passe à l’étape suivante du formulaire.context.form.goPrevious()
Passe à l’étape précédente du formulaire.context.form.isValid()
Renvoie une valeur booléenne si le formulaire passe toutes les validations du côté client.context.form.validate()
Évalue les valeurs des champs existants à l’aide de la validation côté client avant de poursuivre. Si un champ ne passe pas la validation, un message d’erreur apparaît.context.form.getAllHiddenFields()
Renvoie un objet contenant toutes les valeurs des champs cachés.context.form.setHiddenField(id, value)
Définit une valeur pour le champ masqué.context.form.getValues()
Renvoie un objet contenant toutes les valeurs des champs et des champs cachés.context.form.getField(id)
Renvoie une instance pour le champ spécifié.getNode() | trueRenvoie l’élément HTML racine du champ.getValue()Renvoie la valeur du champ.setRequired(boolean)Définit ou désactive le champ selon les besoins.
Exemple :
setRequired() définit ou désactive le champ comme requis côté client. Par exemple, si vous désactivez un champ qui était requis, mais qu’il a été marqué comme requis dans les paramètres de champ, le formulaire renvoie une erreur si le champ n’a pas de valeur.Exemples de champs personnalisés
Les sections suivantes offrent des exemples de champs personnalisées que vous pouvez ajouter à vos formulaires :Champ personnalisé d’entrée de plage
Un champ personnalisé qui renvoie une valeur à partir d’une plage prédéterminée.
Champ personnalisé de saisie de couleur
Un champ personnalisé qui renvoie une valeur hexadécimale de couleur.
Champ personnalisé de saisie de remplissage automatique utilisant les valeurs de l’API
Un champ personnalisé qui renvoie une valeur de remplissage automatique à l’aide d’une API tierce.
Champ personnalisé de liste déroulante dynamique utilisant des valeurs provenant d’une API
Champ personnalisé qui renvoie une valeur à partir d’une liste déroulante dynamique à l’aide d’une API tierce.
Champ personnalisé de saisie dynamique avec un bouton (+) pour ajouter d’autres champs
Un champ personnalisé qui permet aux utilisateurs d’ajouter des champs supplémentaires.