added validation methods to post, refactored post views to a form partial