added validation methods to post, refactored post views to use form partial.