Saltar al contenido principal
Neural UIv2.0.0Documentación
Ver v1 GitHub

Signal Forms

Conecta un campo, añade validación, controla su estado y construye un formulario pequeño funcional.

Empieza por un Input

El signal de aplicación contiene los datos. form crea el árbol de campos y FormField conecta Input con su campo. Escribe y observa cómo cambia ese mismo dato. No añadas [(value)] junto a [formField].

Empieza por un Input
Valor: Neural

Validación, mensajes y estado de interacción

Este campo añade required y minLength(3). Visítalo y sal sin escribir para ver el mensaje requerido; escribe un carácter para ver la longitud mínima. Un campo requerido vacío es inválido desde el inicio, antes de que touched sea true.

El esquema proporciona invalid y errors a Input. errorMessage es el texto que elige la aplicación. touched decide cuándo muestra ese texto este ejemplo; no elimina el borde inválido. Escribe un valor válido para limpiar el error.

Validación, mensajes y estado de interacción
touched: false · dirty: false · valid: false

Entiende el estado del campo

Utiliza los switches anteriores para comparar disabled y readonly. Las reglas del esquema gobiernan esos estados. readonly impide editar, pero conserva un campo usable; disabled cambia su participación. Código incluye ambos switches, las reglas, la salida de estado y reset.

Estado del campo
Significado
Presentación
invalid / validSi la validación del esquema falla o se cumple.No indica que haya habido interacción.
errorsErrores de validación, con kind y detalles de la regla.Elige el mensaje de required o minLength.
errorMessageTexto que tu aplicación entrega a Input.No determina la validez de Signal Forms.
touchedEl campo se ha visitado y abandonado.Útil para decidir cuándo mostrar el texto de error.
dirtyEl campo se ha editado.Reset limpia este estado de interacción.
disabled / readonlyDisabled excluye la participación; readonly impide editar sin deshabilitar el campo.Utiliza reglas del esquema, no un binding que compita.

Restablece datos y estado de interacción juntos

Restablecer del ejemplo validado llama a la API reset del campo y limpia los dos switches de aplicación. touched y dirty vuelven a false. El campo requerido vacío sigue siendo inválido: reset no significa superar la validación. Cambiar solo el signal de datos no expresa el mismo reset del estado de interacción.

signal-validation.example.ts · fragmento
// Fragment from the validated Signal Forms example.
reset(): void {
  this.fields.text().reset('');
  this.isDisabled.set(false);
  this.readOnly.set(false);
}

Combina Input y Checkbox

Introduce un nombre de al menos tres caracteres, elige si quieres recibir novedades y guarda. La acción muestra los datos aceptados; el ejemplo no envía una petición de red. Restablecer limpia campos y resultado. El envío nativo del formulario sigue disponible por teclado.

Combina Input y Checkbox

Errores habituales

Utiliza un único propietario del valor: FormField o un binding explícito del modelo, no ambos. Los controles signal de Neural implementan el contrato de Signal Forms, no ControlValueAccessor: no les añadas formControlName, formControl ni ngModel. Importa FormField en el componente standalone propietario del template. No interpretes invalid como touched. Restablece el estado del campo, no solo los datos. No trates readonly como disabled. Conserva el árbol de campos en lugar de recrearlo en cada interacción.