tawasuyu

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 484Markdown 258TOML 131RON 38118 Definitions

⎇ main widgets/form/LEEME.md Markdown · 30 lines · 1.4 KB History raw

chore: refresco desde el monorepo — vello 0.9 / wgpu 29, 120 miembros d251eb32b · Sergio ·

1# llimphi-widget-form
2
3*Read this in English: [README.md](README.md).*
4
5Validación de formularios sobre `llimphi-widget-field`.
6
7Un formulario valida en tres tiempos, y el que se hace mal es el tercero:
8
91. **qué se pide** — las reglas por campo (`Regla`, `CampoDef`);
102. **qué está mal** — la agregación (`Formulario::validar` → `Errores`), que
11   junta **todos** los problemas y no sólo el primero;
123. **cuándo se dice** — `EstadoForm`. Un formulario que grita «obligatorio»
13   contra un campo vacío que todavía no tocaste es hostil, y uno que se guarda
14   el error hasta el submit te hace ir y volver. La regla: se muestra al
15   **salir** del campo (`tocar`) o al **intentar enviar** (`enviar`), nunca
16   mientras se escribe por primera vez.
17
18Es lógica pura más dos vistas de pegamento. Los valores siguen viviendo en el
19`Model` del caller: acá no hay un `Form` con buffers adentro, porque eso
20obligaría a sincronizar dos fuentes de verdad.
21
22`campo_view` saca del formulario la etiqueta, el asterisco de obligatorio y el
23error, así esos tres datos dejan de escribirse dos veces —que es como terminan
24diciendo cosas distintas—. `resumen_errores_view` arma el resumen navegable de
25la cabecera: en un formulario largo el error puede estar fuera de pantalla, y lo
26único que se ve es que el botón no hizo nada.
27
28---
29
30Parte de **llimphi** — ver [llimphi](../../LEEME.md).

LEEME.md

llimphi-widget-form

Read this in English: README.md.

Validación de formularios sobre llimphi-widget-field.

Un formulario valida en tres tiempos, y el que se hace mal es el tercero:

  1. qué se pide — las reglas por campo (Regla, CampoDef);
  2. qué está mal — la agregación (Formulario::validar → Errores), que junta todos los problemas y no sólo el primero;
  3. cuándo se dice — EstadoForm. Un formulario que grita «obligatorio» contra un campo vacío que todavía no tocaste es hostil, y uno que se guarda el error hasta el submit te hace ir y volver. La regla: se muestra al salir del campo (tocar) o al intentar enviar (enviar), nunca mientras se escribe por primera vez.

Es lógica pura más dos vistas de pegamento. Los valores siguen viviendo en el Model del caller: acá no hay un Form con buffers adentro, porque eso obligaría a sincronizar dos fuentes de verdad.

campo_view saca del formulario la etiqueta, el asterisco de obligatorio y el error, así esos tres datos dejan de escribirse dos veces —que es como terminan diciendo cosas distintas—. resumen_errores_view arma el resumen navegable de la cabecera: en un formulario largo el error puede estar fuera de pantalla, y lo único que se ve es que el botón no hizo nada.


Parte de llimphi — ver llimphi.