Saltar al contenido principal

Fields

Cada elemento de tabs[].rows[].columns[] es un DyonaFormField. Su forma mínima es:

{name: 'firstName', label: 'Nombre', type: 'text'}

name identifica el field y su valor, y debe ser único dentro del formulario. label es el texto visible. type determina qué control renderiza DYONA Form.

Tipos disponibles​

Field typePropósitoValor
textEntrada de texto de una línea.string o null
numberEntrada numérica.number normalizado o null
dateEntrada de fecha.string o null
datetimeEntrada de fecha y hora.string o null
selectSelección entre options predefinidas.string, number o boolean según el value exacto de una option; null o "" representan ausencia de selección.
autocompleteSelección con búsqueda entre options locales o remotas.string, number o boolean; null o "" representan ausencia de selección.
checkboxEntrada booleana.boolean
textareaEntrada de texto multilínea.string o null
emailEntrada de email con validación de formato.string o null
passwordEntrada de contraseña con reglas opcionales.string o null
linkElemento visual de navegación.Sin valor de formulario
labelElemento visual informativo.Sin valor de formulario

Ejemplos mínimos​

// text
{name: 'name', label: 'Nombre', type: 'text'}

// number
{name: 'quantity', label: 'Cantidad', type: 'number'}

// date
{name: 'startDate', label: 'Fecha de inicio', type: 'date'}

// datetime
{name: 'scheduledAt', label: 'Programado para', type: 'datetime'}

// select
{name: 'status', label: 'Estado', type: 'select', options: [
{value: 'active', label: 'Activo'},
{value: 'inactive', label: 'Inactivo'},
]}

// autocomplete: options locales
{name: 'country', label: 'País', type: 'autocomplete', options: [
{value: 'ar', label: 'Argentina'},
{value: 'br', label: 'Brasil'},
]}

// checkbox
{name: 'active', label: 'Activo', type: 'checkbox'}

// textarea
{name: 'notes', label: 'Notas', type: 'textarea'}

// email
{name: 'email', label: 'Email', type: 'email'}

// password
{name: 'password', label: 'Contraseña', type: 'password'}

// link
{name: 'help', label: 'Ver ayuda', type: 'link', url: '/help', target: '_self'}

// label
{name: 'statusInfo', label: 'Estado del cliente', type: 'label', severity: 'info'}

password puede usar passwordRules opcionales; consultá Validation para los detalles de validación. Este overview cubre deliberadamente solo options locales de autocomplete.

link y label son fields visuales y no representan datos del formulario. Ambos conservan un name para identidad, layout y condiciones dentro del schema, pero ninguno crea una clave en DyonaFormValues, puede aparecer en initialValues ni se incluye en onSubmit. link representa navegación; label representa información visual. label puede usar severity: info, success, warning o error; info es el valor predeterminado. Consultá Label para la documentación específica de label.

Valores del formulario​

Los fields de datos producen entradas en DyonaFormValues:

{
name: 'Ada',
quantity: 3,
active: true,
}

Un number puede editarse internamente como texto, pero DYONA Form normaliza su valor antes de onSubmit. Esta página se concentra en el contrato de los fields.

Propiedades comunes​

Muchos fields pueden compartir propiedades como required, disabled, readOnly, visible, fullWidth, tooltip, grid, placeholder, helperText, defaultValue, visibleWhen, requiredWhen y validations.

No todas son válidas para cada field type. Algunas dependen del tipo, y tanto link como label tienen restricciones específicas; no todas las propiedades comunes son válidas para fields visuales/no-data. Estas propiedades se documentan progresivamente en las secciones correspondientes.

Documentación relacionada​