A flexible and modular client-side validation utility