A TypeScript-first form engine for Angular. Async validation, API-driven selects, dynamic arrays, lazy-loaded components, and custom field models all declared in field models, no component glue.
{{ line.n }}
}
The common patterns in complex forms, extracted into a composable model layer.
Triggers are the unit of reactivity in Preforms. Attach them to any field, point them at an event, and let the engine handle the rest.
Async validation hits your API without handwritten glue.
A dependent select fetches its options when a parent value changes.
A dialog opens when an icon is clicked and closes on a button command.
No RxJS, no ViewChild, no parent component managing it all.
{{ line.n }}
}
{{ line.n }}
}
Every example is interactive and linked to source.
{{ line.n }}
}
The engine doesn't know what an "editor" is. You tell it. Extend FormField, register an Angular component against the type key, and the renderer handles the rest.
Rich text editors, date pickers, map inputs, anything Angular can render.
Components load lazily, so there is no bundle cost until the field appears.
Custom fields participate in triggers, validation, and aggregates like any built-in.
Preforms is open source and MIT licensed. The docs have working examples for every feature.