Server side validation and showing error messages

* [x] have server side validation and recieve errors
* [x] show errors
* [ ] end up in a nice state after error