Using `<input type="number">` in Angular forms introduces subtle UX issues like browser spinners and scroll-wheel value changes. The recommended fix is switching to `type="text"` with `inputmode="numeric"`, which triggers the numeric keyboard on mobile without the unwanted browser behaviors. Angular 22's Signal Forms now handle the type conversion automatically — binding a text input to a `number | null` model field, converting empty strings to `null` and string digits to numbers. The approach keeps validation in the schema using `required()`, `min()`, and `max()` validators, and adds a `keydown` handler to restrict input to digits and navigation keys only.
Sort: