Artefact UI

Search

Blog

Documentation

About

Playground

Modifier

MenuChevron Down

Blog

Documentation

About

Playground

Modifier

Field Champ - Docs - Artefact

Field Champ

Forms
Détection automatique intelligente

Introduction

Un contrôle de saisie fondamental conçu pour gérer les formulaires de manière propre et accessible. Il agrège les libellés de saisie, les textes d'aide contextuels, les états de validation d'erreur dynamiques et la vérification de règles basée sur du JS personnalisé dans une interface cohérente et conviviale pour les développeurs.

Le composant Field est entièrement intégré en tant que bloc interactif field dans le Page Builder. Cela permet aux créateurs de contenu et aux concepteurs de rédiger des champs, de placer des entrées de formulaire HTML personnalisées et de fournir une logique de validation côté client instantanée directement depuis Sveltia CMS sans écrire de code répétitif de mise en page.


Utilisation

Ces exemples illustrent comment les éditeurs de contenu lient et configurent les structures de champs de formulaire.

1. Champ de Saisie Standard

Un champ de texte standard comprenant un libellé accompagnateur, un espace réservé et un texte d'aide descriptif situé directement sous l'élément de saisie.

{
  "type": "field",
  "label": "Username",
  "placeholder": "e.g. jules_architect",
  "helperText": "Choose a unique public username.",
  "name": "username",
  "interactive": true
}
Choose a unique public username.

2. Saisie Dynamique avec Validation Côté Client

Utilise une logique de validation personnalisée. Lorsque l'utilisateur saisit moins de 5 caractères ou omet le symbole @, un message d'erreur s'affiche et est annoncé automatiquement de manière dynamique.

{
  "type": "field",
  "label": "Email Address",
  "placeholder": "architect@domain.com",
  "defaultValue": "invalid-email",
  "validator": "(value) => value.includes('@') || 'Must be a valid email containing \'@\''",
  "name": "email",
  "interactive": true
}
Must be a valid email containing '@'

3. Champs d'Option Requis et Désactivés

Démontre les styles de champs de formulaire sous des états de bloc HTML standard. Cela aide les rédacteurs de contenu à visualiser l'apparence des champs lorsqu'ils sont obligatoires (indicateur d'astérisque) ou verrouillés en raison d'autorisations.

{
  "type": "field",
  "label": "Secret Key",
  "defaultValue": "SUPER_SECURE_TOKEN",
  "readOnly": true,
  "required": true,
  "interactive": true
}

Props

PropriétéType de Champ CMSPar défautDescription / Options Prises en Charge
Texte de Libellé (label)string-Le titre visuel ou la description positionné directement au-dessus de l'élément de saisie.
Nom (name)string-Attribut name HTML standard envoyé avec les soumissions de formulaire.
Espace Réservé (placeholder)string-Texte d'espace réservé léger affiché dans la saisie lorsqu'elle est complètement vide.
Texte d'Aide (helperText)string-Texte d'indice ou d'instruction contextuel imprimé sous le champ de saisie.
Texte d'Erreur (errorText)string-Remplacement manuel du message d'erreur. Déclenche le style invalide et les annonces du lecteur d'écran.
Valeur Par Défaut (defaultValue)string-Pré-remplit la saisie au chargement de la page. Force le mode d'îlot interactif côté client.
Requis (required)booleanfalseRend un indicateur d'astérisque rouge signalant que cette saisie ne doit pas rester vide.
Désactivé (disabled)booleanfalseEmpêche toute frappe ou interaction du curseur et atténue tout le champ.
Lecture Seule (readOnly)booleanfalseGarde la valeur sélectionnable et focalisable par tabulation, mais empêche l'édition du texte.
État Invalide (invalid)booleanfalseForce explicitement le champ dans un état d'erreur, mettant les bordures en rouge.
Expression de Validateur (validator)string-Expression de fonction JavaScript avancée évaluant l'entrée de chaîne. Reconstruite côté client via new Function().
Exemple : `(value) => value.includes('@')
Forcer Interactif (interactive)booleantrueAssure l'hydratation côté client en tant qu'îlot interactif pour prendre en charge la validation utilisateur en temps réel.

Notes de Développement et Accessibilité

  • Hydratation à Commutateur Intelligent : Par défaut, si le champ est une présentation statique standard sans déclencheurs de validation personnalisés ni liaisons dynamiques, il reste un balisage SSR statique léger. Fournir l'un des éléments validator, defaultValue ou "interactive": true promeut automatiquement l'élément en une îlot client entièrement hydratée.
  • Connexions Descriptives WAI-ARIA : L'élément wrapper gère dynamiquement les connexions aria. L'élément de saisie enregistre automatiquement aria-describedby pointant vers les ID générés exacts à la fois du slot de texte d'aide et du slot de texte d'erreur.
  • Prévention des Fuites d'Attributs : La primitive FieldRoot inclut des filtres intégrés pour empêcher les propriétés d'entrée standard (comme placeholder, autocomplete ou name) de fuiter sur le <div> wrapper externe, garantissant une sortie HTML complètement valide et propre.
  • Contexte Compositionnel : Le composant Field prend en charge une architecture compositionnelle. Lors de l'imbrication de sous-éléments (comme des éléments Textarea personnalisés ou des éléments select personnalisés) en tant qu'enfants dans le Page Builder, ils consomment automatiquement le contexte partagé du Field externe pour résoudre les attributs de validation appropriés.