client side validations save us all a bunch of bullshit