Monday Snack: Goodbye ControlValueAccessor, hello Signal Forms
If you’ve spent any time building large-scale applications in Angular, you know that managing forms can eventually get a bit heavy. Between setting up nested FormGroup structures, managing RxJS streams for value changes, and implementing ControlValueAccessor just to get a custom form control working, it’s easy to end up with a lot of boilerplate.
I used to spend a lot of time writing that boilerplate myself, accepting it as just the cost of doing business in Angular. But the framework has been shifting toward a simpler, Signal-based reactive model, and forms are finally getting that same treatment.
The Angular team recently announced Experimental Signal Forms, a new library designed to manage form state directly through Signals.
Model-driven simplification
With Signal Forms, you don't need to maintain a parallel tracking structure like FormGroup. Instead, your underlying data model is a standard Signal, and the form wraps around it. The form model automatically syncs with your template fields, giving you clean type-safety without extra configuration.
Here is an example of how a basic login form is structured with the new API:
It improves your daily dev work
- No more ControlValueAccessor: Binding to custom components is now completely signal-based. You no longer need to implement the cumbersome
ControlValueAccessorinterface just to pass data to a custom input or dropdown. - Built-in type safety: Because the form structure is inferred directly from the object inside your signal, TypeScript natively understands your form fields. This eliminates the risk of typos or type drift when accessing form values.
- Centralized validation: Standard validation patterns (like email or regex matching) are built-in, and custom validation logic is handled centrally via schema-based rules.
Experimental
While this is a massive step forward for the developer experience in Angular, keep in mind that the library is explicitly marked as experimental. The API is likely to change based on community feedback.
I wouldn't recommend migrating your core production apps to Signal Forms today. However, it’s a perfect time to try them out on a side project or a non-critical feature. Testing it now gives you a chance to see where the framework is heading and offer feedback while the team is still actively iterating on the API.