Added validation to post & refactored with a partial.