I have a simple form that asks the user to enter details about an airplane he or she has flown:

Initial form

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:

Form asking for the class of the aircraft

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:

  1. 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.

  2. 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.

1 Answer 1


Display the Class box directly below the Airport box (as a normal element of the form). When the user fills in the Model box, dynamically auto-populate the Class box (and grey it out) if you have the information in your database already.

  • +1, pretty much what I was about to write. This is probably the simplest pattern. Dec 15, 2012 at 0:15
  • Thanks for the fast response! After having given it some more though, I have decided to proceed down this road.
    – Laurens
    Dec 15, 2012 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.