Added remaining validations

Additionally, tidied up views.py and the respective templates
to avoid using a bizarre _additional_info function.