new post - UI agnostic validation