Former tests

former: values / fill / dirty guard / submit pipeline + data.fields

Save pipeline — POST /examples-demo/users/save (data.fields demo: email @taken.com, name "boom")

clean

Values coverage — every control type, UI-only + former-ignore fields excluded

Single checkbox → boolean
Checkbox group → array
Radio group → value

Guard in a modal — attribute-driven form

The modal form is configured only with former former-endpoint former-guard former-toast attributes. Type something, then try to close — the unsaved-changes confirm steps in.

Events & results