Validation opposed to expectations

My team proposed to change the usual sequence of an address form. They want to put the country before the other address fields so they can validate the following fields depending on the selected country. The con is however that this deviates from the mental model of the users and it will slow down the data entry and might be slightly annoying.

Some users will enter addresses a few times a day, others not so often.

What solution is the best?

address from field sequence

1 Answer 1


Ask for Country and the ZIP/Postal code first

This is probably the easiest and the most efficient way of approaching addresses. They provide you with the almost all the information about an address other than the street name, building name and the door number.

It won't make sense if you let the user enter wrong information and ask them to change all of it after the "Country" field validation at the end. That would cause more frustration and also cause confusion as to whether fields like "City" need to be spelled accurately or not.

Now, I don't know what sort of a form this is so I can't tell if detecting the country through the IP address is possible. In case it isn't possible, ask for the country followed by the ZIP code. That just leaves the one-line address bar needing to be filled.

NOTE - If you don't want to do any of this, simply reverse the order of address entry. Go for

Country --> ZIP Code ---> State/City --> Street --> Door No.

That way, the flow isn't broken by the unexpected placement of the "Country" field. It just reverses the chronology

  • Thank you for your input. I see your point of offering prefilled fields. However having the flow backwards does not necessarily make it more intuitive. It is very unusual for example in the Netherlands and Switzerland. Spelling your name backwards for example is hard!
    – Avadeha
    Sep 27, 2019 at 4:08

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.