Apprenez à utiliser les composants personnalisés pour créer des champs qui nécessitent une logique ou une interface utilisateur spécifique en utilisant JavaScript, HTML et CSS.
En utilisant les champs personnalisés, vous pouvez étendre l’aspect et la convivialité de vos formulaires et ajouter une logique puissante avec JavaScript, HTML et CSS.Le champ personnalisé possède des méthodes internes qui facilitent le passage des données vers le formulaire, l’ajout de validations du côté client et dorsales et la gestion d’événements courants tels que le focus ou le brouillage (blur).Vous pouvez personnaliser les champs pour créer :
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.
Pour utiliser les champs personnalisés, vous devez activer des Domaines personnalisés. L’affichage d’un formulaire avec un champ personnalisé en dehors d’un domaine personnalisé provoquera une erreur.
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().
Exemple :Dans l’exemple ci-dessous, les configurations de champ personnalisé sont remplies avec les paires clé-valeur symbol=\{\{fields.symbol}} et separator=,
Copy
Ask AI
function CustomComponent(context) { const input = document.createElement('input'); let mask = null; function mountComponent() { /** getParams() method returns the params you've configured in your input */ const config = context.custom.getParams(); const { symbol, separator } = config; mask = IMask(input, { mask: `${symbol}num`, blocks: { num: { mask: Number, thousandsSeparator: separator, } } }); } return { /** Invoked once when the field is created */ init() { mountComponent(); return input; }, ... };}
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.
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.
Paramètre
Description
params
Objet facultatif. Paramètres pris à partir des réglages des champs personnalisés.
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é.
Paramètre
Description
params
Objet facultatif. Paramètres pris à partir des réglages des champs personnalisés.
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 :
Copy
Ask AI
function customTextInput() { const input = document.createElement('input'); input.type = 'text'; return { init() { return input; }, getValue() { if (input.value !== 'Auth0') { throw new Error('The value must be Auth0') } return input.value; } };}
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.
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.
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 :
É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.
getNode() | true Renvoie 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.
Paramètre
Description
id
Chaîne. La valeur de l’ID du champ.
Exemple :
Copy
Ask AI
const fullName = context.form.getField('full_name');const fullNameValue = fullName.getValue();console.log(fullNameValue); // John Doe
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.