client side validation tools