I have a simple form that asks the user to enter details about an airplane he or she has flown:
The form asks for the model of the aircraft (172, 182), it's registration (N-261GY) and its home base. These are all free-form text fields. What's not visible on this form is that every aircraft is of a class (Single Engine Piston, for instance). When the user enters a model that is already in the database, it simply saves the form and shows the index page.
When the users enters a model that is not yet in the database however, we don't know what class it is, and when the page reloads, a new field is revealed:
While this technically works just fine, I am unsure of the user experience. It feels bad to have the user 'fail' to complete the form because of missing data on my part. Nevertheless, I do need this data. I am considering the following alternatives:
Instead of have the form validation fail, simply create a new page that solely asks for the class of the aircraft and hides all the other fields.
Do not hide the class field at all. Simply have it there, have users fill it out, but only use the information if the model is in fact missing from the database.
I would gladly hear some considerations for any one of the my proposed alternatives in terms of the best user experience or be pointed towards and even better solution.