Move form validation from controller to service
Closes #21