server side & client side validations