Add client side validation and UI support