Forms

FormHelperText

Componente per testo di aiuto e messaggi di errore sotto i campi form. Il messaggio di errore ha priorità sul testo di aiuto. Supporta icona errore opzionale e ID per aria-describedby.

Import

import { FormHelperText } from '@pzeta/vue-components'

Esempio Base

Props

PropTipoDefaultDescrizione
helperTextstring | nullnullTesto di aiuto mostrato quando non c'è errore
errorstring | nullnullMessaggio di errore (ha priorità su helperText)
componentPrefixstring'form'Prefisso per le classi CSS BEM (hs-{prefix}-helper-text)
showErrorIconbooleanfalseMostra icona prima del messaggio di errore
errorIconstringconfig globaleClasse CSS icona di errore
helperIdstring | nullnullID per l'elemento helper text (per aria-describedby)
errorIdstring | nullnullID per l'elemento error text (per aria-describedby)

Slot

SlotScopeDescrizione
helperContenuto personalizzato per il testo di aiuto
errorContenuto personalizzato per il messaggio di errore

Esempi

Helper text standard

Messaggio di errore

Con icona di errore

Con ID per accessibilità

Con slot personalizzati

Comportamento

  • Quando error è presente, viene mostrato il messaggio di errore e helperText viene nascosto
  • Quando error è null/undefined e helperText è presente, viene mostrato il testo di aiuto
  • Il messaggio di errore ha role="alert" per notificare gli screen reader automaticamente
  • Se entrambi sono null, il componente non renderizza nulla

Classi CSS Generate

Le classi CSS seguono la convenzione BEM con prefisso hs-{componentPrefix}:

ElementoClassi applicate
Helper text (normale)hs-{prefix}-helper-text hs-{prefix}-helper-text-default
Helper text (con errore presente)hs-{prefix}-helper-text hs-{prefix}-helper-text-error
Error texths-{prefix}-error-text

Accessibilità

  • Il contenitore dell'errore ha role="alert" per notifica immediata agli screen reader
  • Le prop helperId e errorId permettono di collegare gli elementi all'input tramite aria-describedby
  • InputMask usa questa feature internamente per gestire l'accessibilità degli ID

TypeScript

import type { FormHelperTextProps } from '@pzeta/vue-components'

// FormHelperTextProps è definita internamente al componente
// Non è esportata come tipo dedicato dal package

const helperProps = {
  helperText: 'Testo di aiuto',
  error: null,
  showErrorIcon: false,
  componentPrefix: 'mycomponent',
}

Nota: FormHelperText è usato internamente da tutti i componenti form della libreria. Va usato direttamente solo quando si costruisce un campo form personalizzato.