Form validation

To do:
- [x] Prevent field background from clearing when a non-text key is pressed.
- [ ] Remove defaults from radio buttons but still require an option to be selected
- [ ] Highlight missing radio buttons. (Requires keeping track of the individual widgets)