Better handling of invalid forms

There are a bunch of places in the UI where we do horrible things in the face of invalid form input. We need to track these down (they mostly have relevant TODO comments) and handle the validation errors better.