Which @angular/* package(s) are relevant/related to the feature request?
No response
Description
So for input type="number" model with "number | null" field is ok. But for input type="text" "string | null" is not ok? Built-in validation rules dont work with "string | null" either! Select input does not support numeric IDs for option values! But 99.9% modern apps have numbers for entity keys... We already have to review all fields and make sure undefined is not used because apparently its "bad"! But that's not enough. We now need to duplicate all our data classes just to make "signal-friendly" versions :(
I wonder what real-life enterprise-level development teams did Angular architects consulted with before declaring Signal Forms production ready?
Proposed solution
Please review signal forms and make them easier to use compared to reactive forms. Not harder!
Alternatives considered
For now we are creating custom directives with models like these:
value = model<string | null>(null);
value = model<number | null>(null);
Which @angular/* package(s) are relevant/related to the feature request?
No response
Description
So for input type="number" model with "number | null" field is ok. But for input type="text" "string | null" is not ok? Built-in validation rules dont work with "string | null" either! Select input does not support numeric IDs for option values! But 99.9% modern apps have numbers for entity keys... We already have to review all fields and make sure undefined is not used because apparently its "bad"! But that's not enough. We now need to duplicate all our data classes just to make "signal-friendly" versions :(
I wonder what real-life enterprise-level development teams did Angular architects consulted with before declaring Signal Forms production ready?
Proposed solution
Please review signal forms and make them easier to use compared to reactive forms. Not harder!
Alternatives considered
For now we are creating custom directives with models like these:
value = model<string | null>(null);
value = model<number | null>(null);