Add validation methods to post, refactor post views to use form partial