Tag creation and update validation

Did a bunch of client side validation and cleaned some stuff up.

This may actually be in the wrong place though...