WIP rewrite validators using schemas

* [ ] Rewrite validators using reusable schemas (required by #230)
* [ ] Move tests of validators out of test_views.py (separation of concerns : test_views should test views)