post and validation