Это чисто UI, удобство пользователя. Ведь куда приятнее когда в input-е можно вводить только цифры, чем отправлять ajax на сервер, подождать и получить ошибку мол там нужны только цифры. Вот и все. Но да, валидация делается именно на сервере, а для "красоты" и на фронте