refactoring to pass validation to the object, not the post data; site-wide nav