client side validation 18