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