The Webform module and Drupal core supports HTML5 form validation (http://caniuse.com/#feat=form-validation) which has varying levels of browser support, which can create an unpredictable user experience.
The Clientside Validation module (https://www.drupal.org/project/client...) adds clientside validation to all Drupal forms and webforms using the jQuery Validation Plugin. (https://jqueryvalidation.org/)