Renamed errors.js to better fit the controller name
Made a reusable validation service rather than a page-specific one
Add some client-side validation