In the previous example, the user's input must not just match a general format; it must be a specific item from a predefined list. In a situation such as this, you might use a drop-down list as follows:
x populateList
"Add U.S. state names to the drop-down list"
| stateNames |
stateNames := OrderedCollection new.
(1 to: 53)
do: [:i |
stateNames add: (AbtUSAState fromOrdinal: i) printString].
(self subpartNamed: 'StateText') items: stateNames.