Display form errors on each field instead of at the top of the page using form_set_error
You can use the Inline Form Errors module for that


  IFE or Inline Form Errors allows you to place form submission error inline with the form elements. Three options are provided for setting your inline error behaviour. You can configure the default behaviour or override the behaviour on a per form basis. You can add as many forms as you like.


Or alternatively the Inline Messages module:


  The Inline Messages module allows you to move form messages (error/status/warning) from the top of the page to just above where your form appears.


The former would appear to be the more actively maintained of the two.