It's a little easier now. With HTML5, input fields in Web forms can be compared with a pattern that describes the validity of the input when the browser enters them. For client-side form validation, you simply use the new attributes pattern and required. Together with CSS3 selectors for the optical effects, writing check mechanisms and reporting incorrect entries is greatly simplified. The patterns are like templates into which the entered data must fit.
With form patterns and a good browser you can test an astonishing amount, but still another check of the entered data, like for example the calculation of a check digit and the plausibility must be carried out additionally.
Of course it's the same as always. Not all browsers have implanted the check completely and correctly. But that will certainly improve in the future.