validation and error display