As an addition to the previous answers, which were already good:
As a design rule, whenever an “error message” request, idea or discussion pops up, I always ask myself the question:
How could I have improved the UI to prevent the user from doing something “wrong” in the first place.
A worst-practice example, that still I run into too often, is a create-password dialog, where no hint is given about requirements (eg at least 1 symbol), and then an error message shows up telling me that the password is unacceptable. Better to display hints upfront about requirements, possibly with live green checkboxes appearing once the password is OK.
Now to your question on numbers in fields: Probably best to make clear to the user upfront that only numbers are allowed.
Maybe have a “numbers only please” message appear always when they switch to edit mode.
Or display the warning message only when they enter an invalid symbol (which is automatically removed).