Dipende da:
- Lo scopo del campo di inserimento.
- Che utente si aspetta la pagina. (Punto di vista dell'esperienza utente)
Consente di discutere un esempio:
- Per una pagina di e-shop non ha senso trattare numeri negativi, anche per sconti.
- Per una pagina dashboard è possibile utilizzare numeri negativi per tracciare grafici.
La best practice è valutare i tuoi requisiti e solo se alcune funzionalità sono necessarie, puoi implementarle.
Il buon senso dice che ogni numero è sempre positivo, se non diversamente specificato.
Per la convalida
Uso di HTML Solo
Assegna al tag di input un numero di tipo e lascia che il browser esegua la convalida per te.
Citazione da MDN (controllare il collegamento sotto):
input elements of type "number" are used to let the user enter a number. They include built-in validation to reject non-numerical entries.
<input type="number" min="0" max="99">
Se puoi usare qualche Javascript
Sull'input, puoi posizionare la tua funzione di convalida personalizzata da chiamare su qualche evento.
<input type="number" onkeypress="myCustomValidation()">
In questo caso, la funzione myCustomValidation verrà chiamata in risposta all'evento automaticamente. Basta scegliere un evento appropriato da utilizzare.
Collegamenti correlati
MDN - Input - Tipo numero
MDN - Elenco eventi
StackOverflow - Input - Prevent Negative