When there are a relatively small number of entry options for a field, a simple drop-down will do. But for some fields, there can be hundreds or thousands of entry options. People may or may not know the exact spelling or format required.
One option is a generating a drop-down dynamically based on the first few letters typed. In the example below, I’ve typed the letters "Ar"; in response, the system displays options that contain words starting with "Ar."
From: Facebook
Another approach is to wait until the user has completed their entry and then display a set of suggested entries. In the example below, the system was smart enough to see that I had misspelled "merino" and makes suggestions for the correct spelling:
From: Ravelry