basic validation and cross-update of input fields