better error handling. submit button now validates all the user-supplied options, same as tabbing through individual inputs.